2017-08-05 18 views
-1

私はこのシークバーを含むアクティビティを持っており、Ondraw()mathodで円を描いている描画の別のビューを持っています。ここシークバーで円を描き、半径を更新する

は私のコードは
あるActivity.java

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_crop); 
    layout = (LinearLayout) findViewById(R.id.layout); 

    sk = (SeekBar) findViewById(R.id.seekBar); 


    drawing= new DrawView(this); 

    sk.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     @Override 
     public void onProgressChanged(SeekBar seekBar, int i, boolean b) { 
      size = i + 10; 

     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 

     } 

     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 

     } 

    }); 


    layout.addView(drawing); 



} 

ここで私の見るこの

@Override 
    public void onDraw(Canvas canvas) { 

     canvas.drawBitmap(resulting, 0, 0, null); 

     canvas.drawPath(circlePath, circlePaint); 

     canvas.drawCircle(x,y,size/2,showpaint); 
    } 

私の問題は、シークバーがあるときに、リアルタイムで円を描く方法ですがmathodきていますそれ以上の詳細が必要な場合は、私に教えてください。

答えて

1

sizeが変更されるたびに、invalidate()を呼び出して再描画するdrawableにupdateSize(int size)メソッドを追加してみてください。

関連する問題