2012-03-30 13 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つの異なる状態に対して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 ....素晴らしい...ありがとう。私の時間の多くを保存 – Sayka

関連する問題