我正在尝试为我的应用创建自定义主题,因此,希望选择器根据当前主题选择正确的drawable。不幸的是,看起来根本没有任何图像被拾取。
这是我的选择器:
master-XXX
我的属性在attrs.xml中定义:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<bitmap android:src="?attr/test_a"
android:gravity="center" />
</item>
<item android:state_focused="true">
<bitmap android:src="?attr/test_a"
android:gravity="center" />
</item>
<item android:state_activated="true">
<bitmap android:src="?attr/test_a"
android:gravity="center" />
</item>
<item>
<bitmap android:src="?attr/test_b"
android:gravity="center" />
</item>
</selector>
我的主题如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="test_a" format="reference"/>
<attr name="test_b" format="reference"/>
</resources>
主题根据需要应用于清单中。我已经看到了一些关于SO的问题,说有一个问题Pre-Lolipop,但是,我正在测试Marshmellow。
答案 0 :(得分:0)
仍然不确定为什么会发生这种情况,但如果这对某人有用,作为解决方法,我会做以下事情:
1)创建了两个选择器 - 一个用于暗主题,直接指向深色drawable,一个用于浅色主题
2)创建了一个带有类型引用的属性
3)修改主题以在选择器而不是可绘制
中使用该属性点