一般我们在开发中做按钮点击效果都是用两张图片或者两种颜色写selector的xml文件.但是有时候我们可能面临只有一张图片也需要实现类似的点击效果,这个时候怎么办呢?
其实也很好办,同样用selector来实现.
先实现第一种效果点击图片变暗的效果,思路很简单就是在图片上面覆盖一层半透明白色,selector如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <layer-list> <item android:drawable="@drawable/test" /> <item> <shape android:shape="oval" > <solid android:color="#51000000" /> </shape> </item> </layer-list>
</item>
<item android:drawable="@drawable/test" /> </selector>
|
在pressed为true的状态下使用了layer-list里面包含了一张图片和一个shape实现的半透明覆盖层,这样点击的时候效果就是图片变暗从而实现点击效果
是不是很简单.
还有一种效果是点击图片缩小放开又弹回来的效果,其实也很简单,看代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"> <layer-list> <item android:drawable="@drawable/test" android:top="3dp" android:bottom="3dp" android:left="3dp" android:right="3dp"/> </layer-list>
</item>
<item android:drawable="@drawable/test" /> </selector>
|
效果如下:
这样使用一张图片也能实现很好的点击效果.