1

進行状況変更イベントで線ImageViewを引いています。が段階的に変更されSeekBarた場合、正常に動作するようです。SeekBarシーク バーの進行状況を減らしている間、既に描画された線は保持されます。SeekBar減少が進行している場合、進行変化イベントイベントから適切なストロークで線を引くにはどうすればよいですか。ImageViewのドローアブルをに設定し、nullイメージ ビットマップをに設定しようとしましたがnull、まだエラーに直面しています。

@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);
}
4

1 に答える 1

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);
}
于 2013-03-01T05:30:11.740 に答える