0

ボタンクリックで四角形を描きたい。私が行ったすべての調査では、これは機能するはずですが、機能しません。理由がまったくわかりません。

私の MainActivity クラスには次のものがあります。

Bitmap b = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
public Canvas canvas = new Canvas(b);

私のコンストラクターには次のものがあります。

 button.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v)
        {
            Paint paint = new Paint();
            paint.setColor(Color.GREEN);
            //paint.setStrokeWidth(5);
            canvas.drawRect(0, 0, 50, 50, paint);
            Log.e("Blah Blah Blah", "Blah Blah, Blah");
        }
    });

クリックすると「Blah Blah Blah」がログに記録されますが、長方形は描画されないため、関数に入ります。

何か案は?

4

1 に答える 1

1

キャンバスを ImageView に設定する必要があります

//Create a new image bitmap and attach a brand new canvas to it
Bitmap tempBitmap = Bitmap.createBitmap(myBitmap.getWidth(), myBitmap.getHeight(), Bitmap.Config.RGB_565);
Canvas tempCanvas = new Canvas(tempBitmap);

//Draw the image bitmap into the cavas
tempCanvas.drawBitmap(myBitmap, 0, 0, null);

 Paint paint = new Paint();
 paint.setColor(Color.GREEN);
 //paint.setStrokeWidth(5);
tempCanvas.drawRoundRect(new RectF(x1,y1,x2,y2), 2, 2, paint);

//Attach the canvas to the ImageView
myImageView.setImageDrawable(new BitmapDrawable(getResources(), tempBitmap));
于 2013-06-13T19:44:22.647 に答える