我在想這是否可能,但希望有人能夠確認。如何在不改變onclick/onpress顏色的情況下更改按鈕背景顏色
我已經在XML中創建了一個簡單的自定義按鈕佈局來處理聚焦/按下和休眠狀態。查看底部的代碼。當我使用它來創建一個新按鈕時,這工作正常。但是,如果用戶不喜歡默認設置,我希望用戶能夠通過顏色選擇器更改按鈕顏色。但是,我知道只有這樣才能改變按鈕的背景顏色程序是使用
mybutton.setBackgroundColor(someothercolor);
,但如果我這樣做,它會覆蓋所有的XML佈局代碼,我失去了顏色變化按下按鈕時。我想這是設計,因爲我基本上覆蓋整個背景風格,但我真正想要做的是允許用戶改變按鈕的顏色,當它沒有按到自定義的東西,但保持其他國家的風格和佈局該按鈕可以在(即按下時會發生什麼)。
任何想法的人?
預先感謝您。
納特
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:drawable="@color/originalbuttoncolor" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@color/someotherbuttoncolor" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@color/someotherbuttoncolor" />
<item android:drawable="@color/originalbuttoncolor" />
</selector>
我看到的解決方案是將顏色六保存到數據庫那麼每次您設置按鈕時,都會使用保存的顏色 – Sheychan
感謝您的所有評論。通過它的聲音,沒有簡單的方法來做到這一點,並創建一個數據庫,只是爲了讓按鈕顏色的變化看起來有點矯枉過正。也許我最好創建幾個主題,或者如果人們真的想改變按鈕的顏色,就簡單地丟失按下狀態的顏色。如果任何人有任何簡單的解決方案,那麼我全力以赴,再次感謝大家的期待。 – Regnodulous