사용자 뷰의 배경 이미지를 약간의 변경으로 변경하려고합니다. 이미지가 바뀌지 만 문제는 여전히 오래된 이미지의 흔적을 볼 수 있다는 것입니다. 새 이미지를 그리기 전에 캔버스를 지우려고하면 작동하지 않습니다. 나는 이미지를 저장할 비트 맵을 생성한다. 이미지를 변경할 때 새로운 이미지를 그리기 전에 Canvas.drawColor()를 호출하지만 이전 이미지는 계속됩니다. 내가 drawColor (0), drawColor (Color.BLACK), c.drawColor (0, PorterDuff.Mode.CLEAR) 시도하고 위의 작품 중 아무도. 그랬듯이, 나는 경험이 많은 사람들이 나의 것보다 검토 할 수 있도록 게시해야만했다.Canvas.drawColor()로 캔버스 지우기
private int bgnd;
private boolean switching;
public void setBgnd(int incoming){
switching = true;
switch (incoming){
case R.drawable.image1:
bgnd = incoming;
this.invalidate();
break;
case R.drawable.image2:
bgnd = incoming;
this.invalidate();
break;
}
}
protected void onDraw(Canvas c){
if(switching == true){
Bitmap b = BitmapFactory.decodeResource(getResources(), bgnd);
c.drawColor(0, PorterDuff.Mode.CLEAR);
c.drawBitmap(b, 0, 0, null);
switching = false;
}else{
Bitmap b = BitmapFactory.decodeResource(getResources(), bgnd);
c.drawBitmap(b, 0, 0, null);
}
}
나는 그것이 내가 여기에 도착하는 데 2 분이 걸리는 것에 비해 2 일 이상 걸릴 것이라고 생각한다. Thx strangeInAStrangerLand + longdooooo –