到目前为止,我了解了动画的工作原理以及如何根据描述的状态设置按钮的背景 here .
好吧,我定义了一个动画:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="50"
android:repeatMode="reverse"
android:repeatCount="6"/>
我在 onClick(View v) 方法中启动动画。现在的问题是,实际的点击 Action 在动画完成之前得到了处理。我知道我可以使用 AnimationListener,但这对我来说看起来不太好,因为那时我必须在 AnimationListener 中调用实际的点击过程。
有谁知道让按钮在被点击后闪烁的更巧妙的方法吗?
最佳答案
您可以使用 Selector 标签,如下所示:创建一个新的 xml 文件并将其放置在您的 drawable 文件夹中,并将其命名为 shadow_color.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/ask_footer"/>
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/askfooter_hover" />
<item android:drawable="@drawable/ask_footer" />
</selector>
然后转到声明 Button 的 xml:并在 Button 中写入一个属性
android:background="@drawable/shadow_color"
你就完成了。
如果您觉得有用,请标记答案..
关于android - 如何创建一个点击后闪烁的按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7379070/