这是我的形状
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#80000000"
android:endColor="#80FFFFFF"
android:angle="45"/>
<padding android:left="7dp"
android:top="7dp"
android:right="7dp"
android:bottom="7dp" />
<corners android:radius="10dp" />
</shape>
这就是按下按钮所需的内容
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#80FFFFFF"
android:endColor="#80000000"
android:angle="45"/>
<padding android:left="7dp"
android:top="7dp"
android:right="7dp"
android:bottom="7dp" />
<corners android:radius="10dp" />
</shape>
<?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/button_pressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/button_focused" /> <!-- focused -->
<item android:drawable="@drawable/button_normal" /> <!-- default -->
</selector>
我尝试将此代码链接到两个形状但是当我将其设置为背景时,它只是使我的按钮默认为灰色。
我将选择器添加到我的按钮的背景中,它具有正确的不透明度,但我需要它在单击时显示不同的颜色(如白色或其他东西)。
任何人都知道吗?答案 0 :(得分:7)
我是这样做的:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/btn_bg_pressed"/>
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/btn_bg_pressed"/>
<item android:state_focused="true" android:drawable="@drawable/btn_bg_selected"/>
<item android:state_focused="false" android:state_pressed="false" android:drawable="@android:color/transparent"/>
</selector>
这是我通常用于我的主题