私は、ドロアブルとテキストを含むボタンを持っています。私はボタンの背景が通常のものとは異なるもの(好ましくは普通の色)にしたい。これはうまくいきます、私は単純にXMLファイルのandroid:background
属性を使用し、それに応じて色を割り当てます。しかし、私は背景が選択または焦点を当てると(状態セレクタ)、別の色に変更したい。カスタムボタンの状態の背景色を設定する方法は?
私はそうのように、(ボタンのテキストを扱うときに適しています)定義された色で描画可能なフォルダにセレクタを作成しようとしました:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:color="@color/green" />
<item android:state_focused="true" android:state_pressed="true" android:color="@color/green" />
<item android:state_focused="false" android:state_pressed="true" android:color="@color/green" />
<item android:color="@color/white" />
</selector>
とandroid:background
属性としてこのXMLを設定します、そのよう:
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/button_state.xml from drawable resource ID #0x7f020070
:
android:background="@drawable/button_state"
が、これは力が近い旨の原因となります
しかしリソースはそこにあります。背景の状態をカスタマイズすることはできませんか?できるなら、どう?私は間違って何をしているのですか?助けてくれてありがとう!
セレクタをバックグラウンドドロアブルとして使用することは間違いありません。どこに 'button_state.xml'を置いたのですか? –
私はしばしば行うように、それをドロウアブルフォルダに配置しました。そして起動時にアプリの強制が終了するので、xmlファイル – chRyNaN
を認識してはならないか、おそらくxmlファイルを認識しません。なぜなら、textColor属性で使用するとうまく動作するからです。バックグラウンドアトリビュートを使用して強制的に閉じるときのみ – chRyNaN