一款好的应用不仅体现在他性能的良好上,更多的是体现在他给用户的很好的体验度,能够给用户带来很好的操作性和操作反馈。这篇文章就来说一说简单的按钮动画的实现。
在我们用过的很多应用中都会涉及到按钮动画的效果,他会根据用户不同的操作显示不同的状态。常见的就是一个按钮当被点击时会有动画,或者是颜色上的变化,给用户更好的体验度。当然这样的效果会有很多的实现方式,这里就通过<selector/></selector>来实现背景的切换,进而实现按钮背景色的变化。
新建一个xml文件,命名为button_bg,源文件如下:
<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/btn_style_alert_dialog_button_pressed" />
<item android:drawable="@drawable/btn_style_alert_dialog_button_normal" />
</selector></span>
其中,selector有两种状态state_press,分别对应的是true和false,默认情况下为false。要想实现点击变换背景的话可以在这两种状态下分别设置不同的背景,通过背景的切换实现动画的效果。在这里提供的例子中当state_press为true,也就是控件被按下的时候对应btn_style_alert_dialog_button_pressed这张图片,默认情况下对应btn_style_alert_dialog_button_normal这张图片,当然还可以通过背景色来标记这两种状态。
接下来只需要在我们的按钮布局中,background属性中加入引用这个xml文件即可实现按钮动态变化的效果。
源文件如下:
<span style="font-family:KaiTi_GB2312;font-size:18px;"><Button
android:id="@+id/btn_pick_photo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_marginTop="20dip"
android:background="@drawable/button_bg"
android:text="确定"
android:textStyle="bold" /></span>
以上便是通过selector实现按钮背景色变化动画的所有实现过程,当然实现页面动画的方法还有很多种,在之后的文章中也会多多分享给大家。希望对大家的入门学习有所帮助!