修正前のソースコード
import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.util.Log; import android.view.View; public class testView extends View { public testView(Context context, AttributeSet attrs) { super(context); setFocusable(true); Log.v("testVire", "testVire(Context context"); } protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 通常はグラフィックを描画するコードをここに記述する。 canvas.drawColor(Color.BLUE); Paint paint = new Paint(); Bitmap bitmap = Bitmap.createBitmap(200, 500, Bitmap.Config.ARGB_8888); Canvas bitmapCanvas = new Canvas(bitmap); paint.setColor(Color.RED); bitmapCanvas.drawColor(Color.BLACK); bitmapCanvas.drawCircle(50, 50, 40, paint); canvas.drawBitmap(bitmap, 10, 10, null); Log.v("testVire", "onDraw"); } }
修正後のソースコード
import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.util.Log; import android.view.View; public class testView extends View { public testView(Context context, AttributeSet attrs) { super(context); setFocusable(true); Log.v("testVire", "testVire(Context context"); } protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { setMeasuredDimension(200, 500); Log.v("testVire", "onMeasure" + widthMeasureSpec); } protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 通常はグラフィックを描画するコードをここに記述する。 canvas.drawColor(Color.BLUE); Paint paint = new Paint(); Bitmap bitmap = Bitmap.createBitmap(200, 500, Bitmap.Config.ARGB_8888); Canvas bitmapCanvas = new Canvas(bitmap); paint.setColor(Color.RED); bitmapCanvas.drawColor(Color.BLACK); bitmapCanvas.drawCircle(50, 50, 40, paint); canvas.drawBitmap(bitmap, 10, 10, null); Log.v("testVire", "onDraw"); } }
onMeasureメソッドを追加した
なぜか、XMLレイアウト画面でドラッグして追加できなくなった。
0 件のコメント:
コメントを投稿