カスタム属性を使用して問題が発生しました。助けてください..
attr.xml で定義されたカスタム属性があります
<attr format="reference" name="btnPressed" />
<attr format="reference" name="btnNormal" />
そして私はテーマを持っています
<style name="MyTheme" parent="@style/Theme.Sherlock.Light.NoActionBar">
<item name="btnPressed">@drawable/fav_icon</item>
<item name="btnNormal">@drawable/not_fav_icon</item>
</style>
上記の fav_icon と not_fav_icon は私の画像です。
トグルボタン用に定義されたセレクターの favorite_btn.xml があります。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="?attr/btnPressed"/>
<item android:state_checked="false" android:drawable="?attr/btnNormal"/>
<item android:drawable="?attr/btnNormal"/>
</selector>
今、セレクターをトグルボタンに設定しています。
<ToggleButton
android:id="@+id/station_fav_star"
android:layout_width="42dip"
android:layout_height="42dip"
android:background="@drawable/favorite_btn"
android:textOff=""
android:textOn="" />
そして、そのテーマを自分の活動に適用しています。しかし、以下で説明するように、Xml 解析例外が発生しています。
原因: org.xmlpull.v1.XmlPullParserException: Binary XML file line #11: tag requires a 'drawable' attribute or child tag defined a drawable
画像を通常のボタンに設定するためにカスタム属性を使用するのと同じ方法を行っていますが、機能しています。ただし、カスタム属性がセレクターで定義されている場合、機能しません。
何か不足している場合はお知らせください。
私はすでにこのリンクをチェックしました Android color selector does not work with custom attributes
その中で、色の変化について述べています。私の場合、それらはドローアブルです。他の方法がある場合は、解決策を提案してください。
前もって感謝します..