我有一個微不足道的xml drawable happy_borders.xml,它將成爲某些EditText的背景。Android EditText,獲取所有狀態
<EditText
android:background="@drawable/happy_borders
當然,這並不工作,因爲許多/大多數設備將焦點第一位的,然後你會得到什麼爲背景。
所以,你做這樣的事......文件happy_states.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- res/drawable/rounded_edittext_states.xml -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@drawable/happy_borders" />
<item
android:state_focused="true"
android:drawable="@drawable/happy_borders" />
<item
android:state_enabled="true"
android:drawable="@drawable/happy_borders" />
</selector>
然後
<EditText
android:background="@drawable/happy_states
沒有問題,但
(1)實際上也有一個巨大的名單android:state_ ...
- 那裏有什麼交易?在selector
有沒有一種方法可以暗示「爲每個狀態做這個」?
(2)交替。在EditText中。你能否說它是「無國籍」的,永遠都不會關心國家?即只使用一個背景?
請注意,在許多情況下,我認爲只需在EditText後放置一個單獨的視圖就可以實現更好的工程設計;但無論如何,我想知道如何實現(1)或(2)以上 - 感謝機器人專家!
「只使用一個背景?」 - 區分聚焦狀態和未聚焦狀態對於觸摸屏不存在(例如TV)的UX或者未用於當前交互(例如鍵盤)的UX是重要的。 – CommonsWare