通过拥有以下代码,我有一些问题。
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:在代码中,我没有看到任何位图对象。但是,我认为位图是我真正可以在其上绘制东西的对象。我的理解不正确吗?一种可能性是 Canvas 构造函数在新建位图时对其进行初始化。
Q5:我知道这些图形的东西最终会浮出水面,然后传递给surfaceflinger进行最终合成。它在我的代码中的什么位置?
感谢您的回复。