마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Windowmanager 이미지 이동 질문..

0 추천

안녕하세요 초보개발자입니다.

현재 Windowmanager.addview(imageview)

를 해서 사용하구 잇는데요 service로 돌리구있습니다 항상 최상단에 나와야 하는 아이콘이라서요..

터치를 사용해서 이미지 이동을 구현하려고 하는데요..

일단 소스부터 보시죠.. 필요한 부분만 붙혀넣기 했습니다

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;

windowmanager wm;

wm = (WindowManager) getSystemService(WINDOW_SERVICE);


wm.addView(main_btn, btn_params);


 @Override
 public boolean onTouch(View v, MotionEvent event) {
  
  if(event.getAction() == MotionEvent.ACTION_MOVE){
            //터치해서 이동한 만큼 이동 시킨다
            btn_params.x = (int)event.getX();
            btn_params.y = (int)event.getY();
   wm.updateViewLayout(v, btn_params);
  }
  
  return false;
 }

일단 이렇게 해놧는데요..

문제점은 아이콘이 2개로 깜빢깜빢 거리면서 움직인다는 것입니다..

바뀌는 값이 와따가따 거리는거 같은데요..

그리고 또하나문제점은 updateViewLayout을 touch이벤트에서 해줘서 그런지 엄청빠르게

view가 새로고침되는것 같네요..

문제점은 알겟는데 해결방안을 잘모르겟어서 고수분들께 질문올립니다..

힌트좀주세요 ㅠㅠ

mamongs (4,050 포인트) 님이 2013년 12월 27일 질문
mamongs님이 2013년 12월 27일 수정

1개의 답변

0 추천
저같은 경우는 뷰의 draw메서드를 재정의해서 그안에서 updateViewLayout을 해줬구요.. 그래도 끊기기는 하지만.. 원래 윈도우가 막 그렇게 움직이라고 있는 게 아니기 때문에 어쩔수 없는 것 같네요..
북이 (3,360 포인트) 님이 2013년 12월 29일 답변
...