按下按钮时停止动画

时间:2016-10-07 06:18:00

标签: android animation button

在我的应用程序中,我有一个按钮,并设置在动画下面

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/bounce_interpolator" >

    <scale
        android:duration="2000"
        android:fromXScale="0.9"
        android:toXScale="1.0"
        android:fromYScale="0.9"
        android:toYScale="1.0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:repeatCount="infinite"
       />

</set>

通过这个java代码:

 myAnim = AnimationUtils.loadAnimation(this, R.anim.anim_button);
    Button myButton = (Button) findViewById(R.id.run_button);
    myButton.setAnimation(myAnim);
    myButton.startAnimation(myAnim);

现在我想要当按钮被聚焦(或按下)时动画停止并且按钮的大小减小(例如从宽度120dp到宽度100dp) 我该怎么做?我也在XML下面设置了按钮

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_button_focuses"
        android:state_pressed="true"
        android:state_enabled="true"/>
    <item android:drawable="@drawable/ic_button_focuses"
        android:state_focused="true"
        android:state_enabled="true"/>
    <item android:drawable="@drawable/ic_button"
        />
</selector>

1 个答案:

答案 0 :(得分:0)

在你的java代码中停止动画

myButton.clearAnimation();
myButton.clearFocus();

调整按钮大小

myButton.setLayoutParams(new LinearLayout.LayoutParams(10, 100));
希望这对你有帮助。!