android - 如何创建一个点击后闪烁的按钮?

标签 android button view background

到目前为止,我了解了动画的工作原理以及如何根据描述的状态设置按钮的背景 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/

相关文章:

android - NoClassDefFoundError 而类路径中的 .jar

未执行 android broadcastreceviver onreceive 操作

ios - 自定义容器 Controller 的 viewDidLoad 与 loadView

ios - 在 swift iOS 中管理用户登录 segues

swift - 如何在 NSMenuItems 的自定义 View 中弹出 NSMenu?

android - Android中的OpenCV图像比较

android - 在 ActionBar 中为 MenuItem 使用选择器

android - IllegalArgumentException:接收器未注册

android - 为什么打开对话框时我的 "pressed"和/或 "selected"按钮状态丢失?

html - CSS3 仅使用单个 DIV 创建此按钮