【发布时间】:2016-10-07 09:00:16
【问题描述】:
我有一个已定义的可绘制资源 (res/drawable/.xml),其中包含已定义的颜色资源 (res/color/.xml)。颜色资源包含状态选择器。
在 Android 5+ 中一切正常,颜色状态选择器正常工作。但在 Android 4 上它不起作用。这是为什么造成的?如何解决?
布局:
<Button
android:background="@drawable/btn_login"
drawable/btn_login.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<stroke
android:width="@dimen/login_button_border"
android:color="@color/btn_login_border" />
<solid android:color="@color/btn_login_background" />
</shape>
</item>
<item android:bottom="@dimen/login_button_border">
<shape android:shape="rectangle">
<stroke
android:width="@dimen/login_button_border"
android:color="@color/btn_login_background" />
<solid android:color="@android:color/transparent" />
</shape>
</item>
</layer-list>
color/btn_login_border.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/login_border_highlighted" android:state_pressed="true"/>
<item android:color="@color/login_border"/>
</selector>
color/btn_login_background.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/login_button_highlighted" android:state_pressed="true"/>
<item android:color="@color/login_button"/>
</selector>
【问题讨论】:
-
没有办法解决?只是为了使用 StateListDrawable?这很烦人。
标签: android android-layout android-studio