TextView
ユーザーがタッチしたときにAndroid ウィジェットの背景色を変更しようとしています。私はその目的のためにセレクターを作成しました。セレクターは、res/color/selector.xml
次のように格納され、大体そのように見えます
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:color="@color/semitransparent_white"
/>
<item
android:color="@color/transparent"
/>
</selector>
clickable
属性がTextView
あるtrue
興味のだ場合には、。
このセレクターをTextView
as に割り当てるとandroid:background="@color/selector"
、実行時に次の例外が発生します。
エラー/ AndroidRuntime(13130):発生原因:org.xmlpull.v1.XmlPullParserException:バイナリXMLファイルの行#6:タグには「drawable」属性またはドローアブルを定義する子タグが必要です
属性を描画可能に変更すると機能しますが、IDは(「描画可能」が示唆するように)カラー参照ではなくイメージ参照として解釈されるため、結果は完全に間違って見えます。
私を混乱させるのは、背景属性として直接「@ color / black」などの色参照を設定できることです。これは期待どおりに機能しています。セレクターを使用しても機能しません。
セレクターもtextColor
問題なく使用できます。
TextView
Androidでbackground-color-selectorをに適用する正しい方法は何ですか?