2012-02-21 10 views
0

キャンバスにx、yの青い円を描いています。Android Canvas - 同じ場所で別の色で再描画する方法

mPaint.setColor(0xFF0000FF); 
mCanvas.drawCircle(x,y, radius, mPaint); 

今、同じ場所に赤い色で再描画したいと思います。

mPaint.setColor(0xFFFF0000); 
mCanvas.drawCircle(x,y, radius, mPaint); 

これは決して成功しません。表示される円は常に青です。私は戻ってしばらくの間に働いていたアプリ、第2 drawCircle

+0

私はアンドロイドキャンバスを使ったことはありませんが、私が行ったすべての "キャンバスのもの"(最近はHTML5)で、キャンバスが実際に持っているものを描くように "ストローク"させる必要がありますバッファリングされる。それはあなたの問題だろうか? – John3136

+0

私はチェックして、私のスタイルはmPaint.setStyle(Paint.Style.STROKE)です。また、私は塗料の後に無効を呼び出しています。 – user1191140

+0

青い円を描くコードを削除するとどうなりますか? – m1ntf4n

答えて

0

で赤い円を達成するために何ができ、私が持っている:

ImageView playLayout; 
Display display; 
Canvas canvas; 
Bitmap bitmap; 
Paint paint; 

私は、持っている:中続い

display = getWindowManager().getDefaultDisplay(); 
screenHeight = playLayout.getHeight(); 
screenWidth = playLayout.getWidth(); 
playLayout = (ImageView)findViewById(R.id.playLayout); //playLayout in xml 
bitmap = Bitmap.createBitmap(screenWidth, screenHeight, Bitmap.Config.ARGB_8888); 

canvas = new Canvas(bitmap); 
paint = new Paint(); 

ラグを防ぐスレッド:

paint.setARGB(255, red, green, blue); 

    canvas.drawCircle(x, y, circleRadius, paint); 
         playLayout.post(new Runnable(){ 
          @Override 
          public void run(){ 
           playLayout.setImageBitmap(bitmap); 
          } 
         }); 

これは私のために働いています。私がplayLayout.setImageBitmapと呼ぶまで、サークルは実際に描画されません。

情報やその他の情報を追加する必要がある場合は教えてください。

関連する問題