지금 검은색 화면을 touch이벤트로 down상태중에 move하게 되면 그 검은색 배경이 지워지면서
내가 백그라운드로 깔아놓은 이미지가 보이는 프로그램을 만드려고 하는 데
etXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); <<paint에 이렇게 지정해주면
지워진다고 들었습니다..그래서 계속 해봤는 데 도무지 지워지지가 않아요
빡쳐서 다른사이트에 소스 그대~~로 가지고 와서 해보고 되면 제가 한 것과
아래 사이트에서 한 것과 비교해서 교쳐나가려 했는 데...그대로 배껴해도 안되요..
http://blog.naver.com/rkdmfql1540?Redirect=Log&logNo=150143971842
원본은 이거고
package com.example.drawgame;
import java.util.*;
import android.content.*;
import android.graphics.*;
import android.graphics.Path.FillType;
import android.graphics.PorterDuff.Mode;
import android.util.*;
import android.view.*;
import android.widget.*;
public class DrawView extends ImageView{
Bitmap bitmap;
Context con;
public DrawView(Context context) {
super(context);
this.con=context;
bitmap=BitmapFactory.decodeResource(getResources(),R.drawable.aaa);
}
public void onDraw(Canvas canvas){
canvas.drawBitmap(bitmap,null,new RectF(0,0,getWidth(),getHeight()),null);
}
public boolean otTouchEvent(MotionEvent event){
if(MotionEvent.ACTION_DOWN==event.getAction())
transparent((int)event.getX(),(int)event.getY());
return true;
}
public void transparent(int x, int y){
Bitmap tmp = Bitmap.createBitmap(getWidth(),getHeight(),Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(tmp);
c.drawBitmap(bitmap,null,new RectF(0,0,getWidth(),getHeight()),null);
Path path = new Path();
path.setFillType(FillType.WINDING);
path.addOval((new RectF(x,y,x+15,y+15)),Path.Direction.CW);
Paint paint =new Paint();
paint.setXfermode(new PorterDuffXfermode(Mode.CLEAR));
paint.setAlpha(0);
c.drawPath(path, paint);
bitmap=tmp;
invalidate();
}
}
이건 그대로 보고 배낀겁니다..
그런데 잘 안되네요..
제가 잘못한 것이 있나요??
원래 ArrayList에 Rect값을 저장해서 화면에 촘촘..하게 몇십개를 그리고...
ontouch이벤트로 누른값에 X,Y값에 위치한 ArrayList에 저장되있는 Rect값을 remove하니
지워지긴 하는 데 영..부자연스럽더군요..지워지는 게..
잘못된 것이 있다면 어떻게 사용하는 건지 가르쳐주시면 감사하겠습니다..(_ _)



