Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 按钮按下动画可能会更长_Android_Animation_Button_Pressed - Fatal编程技术网

Android 按钮按下动画可能会更长

Android 按钮按下动画可能会更长,android,animation,button,pressed,Android,Animation,Button,Pressed,我有一个按钮xml,当它被按下时,按下的imageb在返回到正常按钮之前显示的时间会更长 以下是我的xml: <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/a" /> <item andro

我有一个按钮xml,当它被按下时,按下的imageb在返回到正常按钮之前显示的时间会更长

以下是我的xml:

<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" />
像这样试试

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;
        }
    });
像这样试试

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;
        }
    });

可以使用exitFadeDuration设置状态更改的动画


这将在选择器上淡入/淡出状态更改,您可以将计时更改为其他内容。

您可以使用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>