当我在canvas对象上使用drawRect()时,为什么没有显示矩形, 并在onCreate方法中声明它。
代码
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activitymain);
Chronometer stopWatch = (Chronometer)findViewById(R.id.chrono);
mDrawingActivity = (DrawingActivity)findViewById(R.id.the_canvas);
Button b = (Button)findViewById(R.id.startButton);
b.setText("start");
b.setOnClickListener(this);
}
OnDraw()方法
protected void onDraw(Canvas Square)
{
super.onDraw(Square);
Paint squareColor = new Paint();
squareColor.setColor(Color.CYAN); // change the box color to cyan
Square.drawRect(100,100,100,100, squareColor);
return;
}
澄清:即使是按钮和计时器也没有显示,程序被强制关闭。
答案 0 :(得分:7)
您正在绘制一个点矩形。 更改行
Square.drawRect(100,100,100,100, squareColor);
到
Square.drawRect(100, 100, 200, 200, squareColor)
以下是doc的定义。
drawRect(float left, float top, float right, float bottom, Paint paint)
使用指定的绘制绘制指定的Rect。矩形将根据绘画中的样式填充或加框。
参数 left要绘制的矩形的左侧 顶部要绘制的矩形的顶部 right要绘制的矩形的右侧 bottom要绘制的矩形的底边 paint用于绘制矩形的绘制