0

毎回異なる Drawable 形状を送信して表示し、アクティビティに追加したいと思います。問題は、メソッドをオーバーライドしているときに、ドローアブル シェイプをキャンバスに追加する方法が見つからないことですonDraw

再利用可能なデザインで、最初に四角形を描いてから円を描くことができます...

ビューを別の形にする方法を見つけたいです。出来ますか?

@Override
protected void onDraw(Canvas canvas) {
      // Draw the ball
      ballBounds.set(ballX-ballRadius, ballY-ballRadius, ballX+ballRadius, ballY+ballRadius);
      paint.setColor(Color.GREEN);
   // canvas.drawOval(ballBounds, paint);
      canvas.drawRect(ballBounds, paint);
}
4

1 に答える 1

0

ただし、あなたの質問には何が必要かについてさらに説明が必要ですが、私が理解できることは、あなたが直角を望んでいること、または欲望に丸をつけたいことです。

追加、グローバル変数int ShapeStructure = 0;

    @Override
       protected void onDraw(Canvas canvas) 
       {
          // Draw the ball
          ballBounds.set(ballX-ballRadius, ballY-ballRadius, ballX+ballRadius, ballY+ballRadius);
          paint.setColor(Color.GREEN);
if(ShapeStructure == 0){
        canvas.drawOval(ballBounds, paint);
}else{
          canvas.drawRect(ballBounds, paint);
}
       }

変数を自由に使用できるようになったので、何をペイントするかを制御できます。

これが役に立てば幸いです。他に何か必要な場合はお知らせください。

于 2013-05-08T09:18:11.667 に答える