1

親レイアウトのRectangle中に表示したいこのAndroidプログラムがあります。ImageViewコンポーネントはこの階層に設定され、以下に示すレイアウトに従います。四角形を表示するコードも以下に示します。

  • LinearLayout [垂直]
    • スピナー
    • イメージビュー
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">    
    <Spinner
        android:id="@+id/spinMap"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:listitem="@android:layout/simple_spinner_item" />    
    <ImageView
        android:id="@+id/imageMap"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/black" />
</LinearLayout>

コード:

public class MainActivty extends Activity {

    private Display     display;
    private Spinner     spinMap;
    private ImageView   imageMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initailize();
    }
    private void initailize() {
        display = getWindowManager().getDefaultDisplay();
        spinMap = (Spinner) findViewById(R.id.spinMap);
        imageMap = (ImageView) findViewById(R.id.imageMap);
        imageMap.draw(drawMap());
    }
    private Canvas drawMap() {
        Canvas canvas = new Canvas(Bitmap.createBitmap(display.getWidth(), display.getHeight(), Bitmap.Config.RGB_565));
        Paint paint = new Paint();
        paint.setColor(Color.RED);
        canvas.drawRect(10.0f, 10.0f, 100.0f, 100.0f, paint);
        return canvas;
    }
}

問題は、アプリケーションを実行すると、Rectangle表示されないことです。どうすれば表示できますRectangleか?

4

1 に答える 1

2

これはあなたに役立つと思いますAndroid - Canvas drawLine inside ImageView

長方形でビットマップを作成し、それを ImageView にフィードする必要があります

于 2013-04-14T11:14:24.997 に答える