我希望按鈕背景在單擊按鈕後保持某種顏色,並在按下其他按鈕時再次更改顏色。我認爲這是「state_focused」狀態。什麼是按鈕的「state_focused」狀態?
但是,我似乎對我的Button只有兩個狀態是按下或未按下。
我是否正確理解state_focused狀態,或者是我的StateListDrawable(請參見下文)錯誤?
<?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"><shape>
<solid android:color="#00ff00" />
</shape></item>
<item android:state_pressed="true"><shape>
<solid android:color="#ff0000" />
</shape></item>
<item><shape>
<solid android:color="#0000ff" />
</shape></item>
</selector>
謝謝dmon。你是否看到使用StateListDrawable來完成我想要的按鈕? – aez 2012-01-13 15:19:44
我相信你可以使用「focusableInTouchMode」,但是開發者指南建議不要這樣做:「觸摸模式下的Fousable(參見View.setFocusableInTouchMode)是一個屬性,你可以使用代碼或者XML來設置自己的屬性,但是你應該使用它只適用於非常特殊的情況,因爲它違背了Android UI的正常行爲。「請參閱http://developer.android.com/resources/articles/touch-mode.html。 – dmon 2012-01-13 16:23:15
我不禁感到這不能回答真正的問題。 – 2014-03-10 15:11:17