我想让一个按钮看起来按下,当你点击它。但是当我尝试将该代码实现到我的xml文件时,我之前的圆角按钮功能不起作用。我将xml文件链接到按钮上的android:background命令。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/light_orange" android:state_pressed="true"/>
<item android:drawable="@color/orange"/>
<shape
android:shape="rectangle" android:padding="10dp">
<solid android:color="#FFFF00"/>
<corners
android:bottomRightRadius="10dp"
android:bottomLeftRadius="10dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp"/>
</shape>
</selector>
总共需要三个xml。一个是你的"正常"圆形,另一个是你的圆形,颜色不同,或者你想表明它是按下的。最后一个选择器,就像你在你的例子中,你引用其他两个drawables,根据状态…
大致是这样的:
1 - button_not_pressed.xml
<solid android:color="#FFFFFF00"/>
<corners
android:bottomRightRadius="10dp"
android:bottomLeftRadius="10dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp"/>
</shape>
2 - button_pressed
<solid android:color="#AADDDD00"/>
<corners
android:bottomRightRadius="10dp"
android:bottomLeftRadius="10dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp"/>
</shape>
3 - stateful_button.xml <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_pressed" android:state_pressed="true"/>
<item android:drawable="@color/button_not_pressed"/>
</selector>
你可以简单地给你的按钮drawable statful_button作为背景,它会改变颜色,当你按下它…