次のコードを持っていることによって、私はいくつかの質問があります。
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView( new View(this) {
Paint mPaint = new Paint();
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
int width = this.getWidth();
int height = this.getHeight();
int radius = width > height ? height/2 : width/2;
int center_x = width/2;
int center_y = height/2;
// prepare a Paint
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeWidth(5);
mPaint.setAntiAlias(true);
// draw a rectangle
mPaint.setColor(Color.BLUE);
mPaint.setStyle(Paint.Style.FILL); //fill the background with blue color
canvas.drawRect(center_x - radius, center_y - radius, center_x + radius, center_y + radius, mPaint);
// draw some text and rotation
mPaint.setTextSize(50);
mPaint.setTextAlign(Paint.Align.CENTER);
mPaint.setColor(Color.BLACK);
canvas.drawText( "Hello World" , center_x , center_y, mPaint);
}
});
}
}
Q1:フレームの青色を塗りつぶすにはどうすればよいですか? (言葉はまだ表示されます)
Q2:このアプリにはいくつのビューとサーフェスがありますか?アプリでこれらをカウントするにはどうすればよいですか?
Q3:このアプリのウィンドウはいくつですか?
Q4:コードにビットマップオブジェクトがありません。しかし、ビットマップは本当に物を描くことができるオブジェクトだと思いました。私の理解は間違っていますか? 1つの可能性は、Canvasコンストラクターがビットマップが新しくなったときにビットマップを初期化することです。
Q5:これらのグラフィックは最終的に表面に出て、最終的な構成のために表面フリンガーに渡されることを私は知っていました。コードのどこにありますか?
返信ありがとうございます。
5つの質問。私がどこで助けることができるか見てみましょう。
Q1:Paint
に長方形を埋めるように指示します:Paint.setStyle(Paint.Style.FILL);
Q2:プログラムで作成したビューが1つだけ表示されます。なぜあなたはビューを数えたいのですか?
Q3:もう一度:1つ
Q4:可変ビットマップをCanvas
でラップして描画します。実際に描画する方法はCanvas
の一部です
Q5:表示するコードはアクティビティの一部です。アクティビティはAndroidによって呼び出されます。これは、アプリへのエントリポイントです。
答えてくれてありがとう。私はマークされた答えのコードを作る仕事をしました、そしてそれは働きます。
Bitmap bg = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bg);
// Paint background with the trick
Paint rect_Paint = new Paint();
rect_Paint.setStyle(Paint.Style.FILL);
rect_Paint.setColor(Color.rgb(0, 0, 0));
rect_Paint.setAlpha(0x80); // optional
canvas.drawRect(0, 0, width, height, rect_Paint); // that's painting the whole canvas in the chosen color.
Q2:Hierarchy Viewerは、アプリのビュー数をカウントする場合に非常に便利です。 Iの最適化