btn_params = new WindowManager.LayoutParams
(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT
);
// btn_params.gravity = Gravity.BOTTOM | Gravity.LEFT ;
btn_params.x = 10;
btn_params.y = 750;
btn_params.width= 150;
btn_params.height= 150;private float startX, startY; // no need to initialize since ACTION_DOWN would do that
@Override
public boolean onTouch(View v, MotionEvent event) {
float x = event.getRawX();
float y = event.getRawY();
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
startX = x;
startY = y;
break;
case MotionEvent.ACTION_MOVE:
float weightX = x - startX;
float weightY = y - startY;
btn_params.x = (int) (weightX);
btn_params.y = (int) (weightY);
Log.d("ErrorLog", "test x = " + weightX);
Log.d("ErrorLog", "test Y = " + weightY);
wm.updateViewLayout(v, btn_params);
break;
default:
break;
}
return true;
}
이게 문제의 소스이구요.. service에 windowmanager로 버튼을 addview시켯습니다..
v.getx 나 v.gety 모두0 이 나오구요.. 현재 이미지의 위치를 알수가 없네요..
action_move이벤트가 처음실행되자마자 이미지가 센터로 이동합니다..
float weightX = x - startX;
float weightY = y - startY;
이부분 떄문인것 같구요..
그리구 나서는 이미지가 잘따라다녀요..
저부분을 어떻게 수정해야될까요.. 하아..
별걸 다해봣는데..안되네요.. 도와주세요 ㅠㅠㅠㅠ