1
在我的應用程序中我有與seekbar對話框,它將大小設置爲我的繪畫筆刷,在此下方,我想對此大小進行簡單預覽。我設法在這個seekbar下面創建ImageView並在裏面畫一個圓圈。只要我取得比以前更大的進展,一切都可以正常進行,圈子就像它應該的那樣動態增長,但是當我降低進度時,什麼都不會發生。我想,每當我改變進度的價值時,新的圈子就出現在舊圈子上,所以當我想讓圈子變小時就看不到。我試過了setImageBitmap(null)
或setImageResource(0)
等方法,但沒有奏效。 我的代碼如下所示:使用SeekBar動態更新ImageView中的圓圈大小 - Android
LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.brush_size,null);
AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setView(view)
.setTitle("Change brush size");
alertDialog = builder.create();
alertDialog.show();
final ImageView imageView = (ImageView)view.findViewById(R.id.image_view);
final Bitmap preview = Bitmap.createBitmap(100,100,Bitmap.Config.ARGB_8888);
final Canvas canvas = new Canvas(preview);
final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setColor(mPaintView.getColor());
SeekBar sb = (SeekBar)view.findViewById(R.id.seekBar);
sb.setMax(50);
sb.setProgress(mPaintView.getSize());
sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
mPaintView.setSize(progress);
canvas.drawCircle(50,50,mPaintView.getSize(),paint);
imageView.setImageBitmap(preview);
}
有沒有辦法真正清除我的ImageView,每次我改變進度條,所以小圓圈可以visable?
非常感謝你,工作就像一個魅力! – BednarQ