보기 응답 터치 이벤트의 크기 조절 효과

2649 단어 Android
클릭 가능한 컨트롤에 대해view를 누르면view가 줄어들고 들어올린 후에 원래 크기로 돌아갑니다.또한 엄지손가락에 컨트롤이 그려져 있으면 이벤트에 응답하지 않고 컨트롤도 원래 크기로 돌아간다고 판단합니다.아래 코드에 있는 부울 변수 초이스execute는 전역적인 변수로 방법 밖의 변수에 속한다.또한 주의해야 할 것은 레이아웃 코드 중 하나의viewgroup로 이 축소 효과가 필요한view를 감싸고 이viewgroup은 고정된 크기이다. 그렇지 않으면 전체 레이아웃이 축소 애니메이션에 따라 달라질 수 있다.ontouch 이벤트에 다음 코드를 추가합니다.
switch (event.getAction()){
     case MotionEvent.ACTION_DOWN:
        choose_execute=true;//      true,             
        ViewGroup.LayoutParams params= v.getLayoutParams();//         
        params.width+=params.width*0.1f;//            1.1 
        params.height+=params.height*0.1f;
        v.setLayoutParams(params);
        break;
     case MotionEvent.ACTION_MOVE:
        float x=event.getX();
        float y=event.getY();
        if(choose_execute&&!SimpleUtil.checkOutOfView(x,y,v)){//                
           choose_execute=false;//          ,            ,     false
           ViewGroup.LayoutParams params1= v.getLayoutParams();//            
           params1.width-=params1.width*0.091f;
           params1.height-=params1.height*0.091f;
           v.setLayoutParams(params1);
        }
        break;
      case MotionEvent.ACTION_UP:
        if(choose_execute){//              
            ViewGroup.LayoutParams params1= v.getLayoutParams();//            
            params1.width-=params1.width*0.091f;
            params1.height-=params1.height*0.091f;
            v.setLayoutParams(params1);
            // TODO: 2017/5/3 code the click event
         }
      break;
   }
  return true;//  true  down       move up        。   

좋은 웹페이지 즐겨찾기