在开发APP的时候,用户的体验感很重要。有时候我们会在Button上添加背景图片,但却丢失了触摸效果的体验。经过在网上查阅资料,可通过在xml文件里进行设置并调用的方式实现触摸3D效果。
我们在drawable文件中新建press.xml文件,实现如下程序:
<?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/red2_press"
/>
<item
android:state_focused="false"
android:drawable="@drawable/red1"
/>
</selector>
第一个item为按下时的状态,我们添加按下时显示的图片,第二个item为Button弹起来时的状态,我们添加弹起时需要显示的图片。然后在Button的background属性中调用press.xml,即android:background="@drawable/press"此时当我们按下按钮时就可以显示3D按下弹起效果了。
以下是实现效果,分别是两个按钮在弹起和按下时的状态,当然按下弹起是瞬间的事,所以能感受到3D效果,我是把它分开截图的。