爲什麼Button的默認行爲state_activated =「false」?Android按鈕默認狀態
使用這個選擇它永遠不會到達最後一排,它停留在第二行:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorPrimary" android:state_enabled="false"/>
<item android:drawable="@color/colorPrimaryDark" android:state_activated="false"/>
<item android:drawable="@color/colorAccent"/>
比方說,這個選擇器之間的按鈕和某些佈局其僞裝成一個按鈕共享,但在佈局的情況下,需要setActivated(false)
來更改背景。
我想不出一個Button會被「激活」的情況。也許你可以列出按鈕需要有不同視覺外觀的不同情況,我們可以從那裏開始。 – ataulm
我有一個按鈕構成的佈局,並且在某個點它變爲「非活動」,但仍然可以點擊並啓用,以便顯示禁用並在點擊時顯示警告消息。當佈局的點擊選項被禁用時,點擊動作將不會被註冊,所以我必須使用setActivated()。在其他一些佈局中,某些按鈕也使用相同的選擇器,但它們只需響應state_pressed,就像普通按鈕一樣,但它們會響應state_activated。感謝你,現在我知道爲什麼,但仍然不知道如何修改/繞過它而不使用另一個選擇器。 – rexxar
我不明白你的意思是「'不活躍',但仍然可以點擊」。你可以使用'setEnabled(false)',因爲這是View上的方法,而不是Button。禁用的按鈕的默認行爲是禁用點擊(即無按下狀態)。 – ataulm