2012-03-30 7 views
1

이 버튼이 xml 인 경우, 눌려 질 때, 눌러 진 이미지 (b)는 정상 버튼으로 돌아 가기 전에 더 길어집니다.버튼 누름 애니메이션이 길어집니다

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/a" /> 
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/b" /> 
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/b" /> 
<item android:drawable="@drawable/a" /> 

사람이에 아이디어가 :

여기 내 XML입니까?

수정 사항. 나는 이것을 사용했다.

closeButton.setOnTouchListener(new View.OnTouchListener() { 

     public boolean onTouch(final View v, MotionEvent event) { 
      switch(event.getAction()) 
      { 
      case MotionEvent.ACTION_DOWN: 
       v.setPressed(true); 
       return true; 
      case MotionEvent.ACTION_UP: 
       v.setPressed(false); 
       try { 
      Thread.sleep(150); 
     } catch (Exception e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 
     return true; 
     } 
      return false; 

     } 
}); 
+0

무엇이 당신의 질문입니까? 애니메이션을 더 길게 만들고 싶습니까? –

+0

매우 가난한 설명. 이 모든 것을 누군가가 이해할 수 있다는 것을 보아서 버튼의 세 가지 다른 상태에 대해 3 세트의 이미지가 있다는 것입니다. 이제는 애니메이션이 어디에서 사진으로 등장했으며 정확히 "길게", 즉 정보가 없다는 것을 의미합니까 ??? –

답변

1

이 같은 시도 ..

Handler handler=new Handler(); 
mybutton.setOnTouchListener(new OnTouchListener() { 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      v.setPressed(true); 
      handler.postDelayed(new Runnable() { 
@Override 
public void run() { 
v.setPressed(false); 
} 
}, 2000);<-- you can set for how much time the button should be in pressed state..2 seco9nds in this case 
      return true; 
     } 
    }); 
+0

그러나이 솔루션은 버튼을 빠르게 누르면 적용됩니다. 버튼을 길게 누르면 어떨까요? – antonoVodka

+0

또한 onlongclick 리스너가 있습니다 .. 당신은 또한 그것을 무시할 수 ... – 5hssba

+0

나는 내 질문을 편집 내 문제에 대한 해결책을 추가했습니다. 감사. – antonoVodka

3

당신은 exitFadeDuration

<selector xmlns:android="http://schemas.android.com/apk/res/android" 
     android:exitFadeDuration="@android:integer/config_mediumAnimTime"> 
    <item android:state_activated="true" android:drawable="@android:drawable/list_selector_background_selected" /> 
    <item android:drawable="@color/transparent" /> 
</selector> 

를 사용하여 상태 변경에 애니메이션을 적용 할 수 이것은 당신의 선택에 인/아웃 상태 변경에 사라질 것이다, 당신은 타이밍을 변경할 수 있습니다 다른 것.

+0

greeat .... great ... 감사합니다. 많은 시간을 절약했습니다. – Sayka

관련 문제