0

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;
    }

明確化: ボタンとクロノメーターも表示されず、プログラムは強制的に閉じられます。

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 に答える