当我使用drawRect()时,为什么矩形没有显示?

时间:2013-06-25 07:24:10

标签: android eclipse android-canvas

当我在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;
    }

澄清:即使是按钮和计时器也没有显示,程序被强制关闭。

1 个答案:

答案 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用于绘制矩形的绘制