我尝试使用以下XML代码为我的按钮创建一个选择器...
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:constantSize="true">
<item android:drawable="@drawable/rectangular_transparent" android:state_enabled="true"></item>
<item android:drawable="@drawable/rectangular_grey" android:state_pressed="true"></item>
</selector>
这是我定义的矩形灰色形状......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/grey"/>
<stroke android:color="@android:color/transparent"/>
<corners android:radius="1dp"/>
</shape>
这是我定义的矩形透明形状......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/transparent"/>
<stroke android:color="@color/grey" android:width="@dimen/_1sdp"/>
<corners android:radius="1dp"/>
</shape>
当我将它运行到我的设备中时,它只显示透明按钮但是当我按下它时它不会改变颜色...
当我尝试使用其他颜色而不是透明时,同样的方法也有效,请帮助......
答案 0 :(得分:0)
您需要以正确的方式使用选择器:
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:constantSize="true">
<item android:drawable="@drawable/rectangular_transparent" ></item>
<item android:drawable="@drawable/rectangular_grey" android:state_pressed="true"></item>
或强>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:constantSize="true">
<item android:drawable="@drawable/rectangular_transparent" android:state_pressed="true"></item>
<item android:drawable="@drawable/rectangular_grey"></item>
答案 1 :(得分:0)
选择器中项目的顺序很重要。它总是选择适用的第一个。所以你应该交换这些项目。
在你的情况下,按钮总是被启用,无论按下状态是什么,所以它总是选择第一个项目。