我有一个处于正常状态的 3d 外观按钮,右侧和底部带有 3dp 填充,当我按下按钮时,我希望它看起来是 3d,这次左侧和顶部带有 3dp 填充。但是,当我更改项目形状的按下状态的填充值时,即使按钮处于正常状态/未按下,填充的变化也会显示出来。
我的按钮如下所示:
而且我希望它在按下时也看起来像这样:
btn_gray1.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<solid
android:color="#acacac" />
<stroke
android:width="0dp"
android:color="#acacac" />
<corners
android:radius="0dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<solid android:color="#c2c2c2"/>
<stroke
android:width="0dp"
android:color="#c2c2c2" />
<corners
android:radius="0dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
btn_gray2.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<solid
android:color="#acacac" />
<stroke
android:width="0dp"
android:color="#acacac" />
<corners
android:radius="0dp" />
<padding
android:left="0dp"
android:top="0dp"
android:right="3dp"
android:bottom="3dp" />
</shape>
</item>
<item>
<shape>
<solid android:color="#959595"/>
<stroke
android:width="0dp"
android:color="#959595" />
<corners
android:radius="0dp" />
<padding
android:left="0dp"
android:top="0dp"
android:right="3dp"
android:bottom="3dp" />
</shape>
</item>
</selector>
btn_gray.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_gray2"/>
<item android:drawable="@drawable/btn_gray1"/>
</layer-list>