2013-03-01 26 views
1

我在ImageView中绘制了一行与SeekBar progress progress事件。如果SeekBar增量更改它似乎工作正常。在减少搜索栏进度的同时,保留了已绘制的线。如果减少进度,我怎样才能从SeekBar进度变化事件事件中以合适的中风画线。我试图将ImageView的drawable设置为null,并且还将图像位图设置为null,仍然面临错误。在ImageView中drawLine()与SeekBar的笔画宽度发生了变化

@Override  
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {  
    imageCanvas.drawLine(0, 0, 100, 100, paint);     
    mStrokeWidth = (float)progress; 
    imageView.setImageDrawable(null); 
    imageView.setImageBitmap(null); 
    paint.setColor(mStrokeColor); 
    paint.setStrokeWidth(mStrokeWidth); 
    imageCanvas.drawLine(20, 20, 100, 100, paint); 
    imageView.setImageBitmap(bitmap); 
} 

回答

0

该问题已被修复以创建新的位图并将其分配给onProgressChanged()方法的画布。

@Override  
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) 
{ 
    bitmap = Bitmap.createBitmap((int)imageViewSize , (int) imageViewSize, Bitmap.Config.ARGB_8888); 
    imageCanvas = new Canvas(bitmap); 
    imageCanvas.drawLine(0, 0, 100, 100, paint);     
    mStrokeWidth = (float)progress; 
    imageView.setImageDrawable(null); 
    imageView.setImageBitmap(null); 
    paint.setColor(mStrokeColor); 
    paint.setStrokeWidth(mStrokeWidth); 
    imageCanvas.drawLine(20, 20, 100, 100, paint); 
    imageView.setImageBitmap(bitmap); 
}