Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
324 views
in Technique[技术] by (71.8m points)

android - Can a selector resource use a color defined in a style?

I'm trying to use a color defined in a stlyle in a selector but it is causing a Resources$NotFoundException.

First I added a new attribute to attr.xml:

<resources>
    <attr name="unread_background" format="color" />
</resources>

Then I defined that attr value in styles.xml:

<style name="ThemeNoTitleBar" parent="android:Theme.NoTitleBar">
    <item name="unread_background">#000000</item>
</style>

Then I tried to use that attr in my selector definition:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- other states snipped -->
    <item android:state_selected="false"
        android:drawable="?unread_background" />
</selector>

Lastly, the activity uses the ThemeNoTitleBar style theme in the manifest.

I've also tried creating a color in colors.xml and having it use the new attr but that also fails.

I'm obviously missing something but am not sure what to do to fix it. My intent is to create multiple themes and have the selector use the color in the currently selected theme.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
<item android:state_selected="false"
    android:drawable="?unread_background" />

this above section is wrong.

the drawable only take a reference to a drawable resource. Please see this link. http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...