我有一個按鈕,其中包含一個可繪製和文本。我希望按鈕的背景不同於普通的背景(最好是純色)。這工作正常,我只需使用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>
並將此XML作爲android:background
屬性,像這樣:
android:background="@drawable/button_state"
,但是這會導致強制關閉聲明:
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/button_state.xml from drawable resource ID #0x7f020070
但資源在那裏。你不能自定義背景狀態嗎?如果可以,如何?或者我做錯了什麼?謝謝您的幫助!
你絕對可以使用選擇器作爲背景繪製。你究竟把「button_state.xml」放在哪裏? –
我像往常一樣將它放在可繪製文件夾中。在啓動時,應用程序強制關閉,因此它不能確認我的xml文件 – chRyNaN
或者它確實可以識別xml文件,因爲如果我使用textColor屬性,它可以正常工作。只有當我使用它的背景屬性強制關閉 – chRyNaN