0

为什么当我在画布对象上使用 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;
    }

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

4

1 回答 1

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 要绘制的矩形的左侧 top 要绘制的矩形的顶部 right 要绘制的矩形的右侧 bottom 要绘制的矩形的底部 paint 用于绘制矩形的绘制

于 2013-06-25T09:07:09.983 回答