我有以下drawables
<!-- button_shape.xml -->
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false">
<shape android:shape="rectangle">
<corners android:radius="3dp"/>
<solid android:color="#006600" />
</shape>
</item>
<item android:state_pressed="true">
<shape android:shape="rectangle">
<corners android:radius="3dp"/>
<solid android:color="#003300" />
</shape>
</item>
</selector>
Run Code Online (Sandbox Code Playgroud)
和
<!-- button_shape_shadowed.xml -->
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<corners android:radius="5dp"/>
<solid android:color="#D0D0D0"/>
</shape>
</item>
<item>
<inset
android:drawable="@drawable/button_shape"
android:insetBottom="5dp"
android:insetLeft="5dp"
android:insetRight="5dp"
android:insetTop="5dp">
</inset>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
有没有办法将它们合并为一个?我的主要问题是我不能有selector内心inset.由于button_shape.xml没有在其他地方使用,我不想无缘无故地创建额外的文件.
Kha*_*yen 17
多谢你们!以下工作正常,即使Android Studio抱怨selector内部不允许这样做inset.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<corners android:radius="5dp"/>
<solid android:color="#D0D0D0"/>
</shape>
</item>
<item>
<inset android:insetBottom="2dp">
<selector>
<item android:state_pressed="false">
<shape android:shape="rectangle">
<corners android:radius="3dp"/>
<solid android:color="#006600" />
</shape>
</item>
<item android:state_pressed="true">
<shape android:shape="rectangle">
<corners android:radius="3dp"/>
<solid android:color="#003300" />
</shape>
</item>
</selector>
</inset>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7226 次 |
| 最近记录: |