我需要按一个按钮按下一个形状,这是我按钮的背景

MrC*_*ter 1 android shape button selector

这是我的形状

<?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>
Run Code Online (Sandbox Code Playgroud)

这就是我按下按钮所需要的

<?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>
Run Code Online (Sandbox Code Playgroud)

我尝试将此代码链接到两个形状但是当我将其设置为背景时,它只是使我的按钮默认为灰色.

并且我将选择器添加到我的按钮的背景中,它具有正确的不透明度,但我需要它在单击时显示不同的颜色(如白色或其他东西).

有谁有想法吗?

yer*_*dis 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>
Run Code Online (Sandbox Code Playgroud)

这是我通常用于我的主题