在賬號密碼輸入框的樣式設計的時候,要實現一個LinearLayout中包含一個TextView和一個EditText,在用戶點的時候實現焦點的效果,聽上去好像不難實現,但當做起來的時候還是遇到了一些問題,當點擊的時候改變的背景僅僅是editext的部分,而整個linear無論如何設置都沒有達到想要的效果,嘗試了很久,后來經過同事的幫助才了解到一個以前沒用過的屬性 android:addStatesFromChildren,做一簡單的整理,算是記錄學習的過程。
在android的API中是這樣描述的:
設置整個viewGroup的drawable狀態是否也包含子空間的drawable狀態。該屬性用於當子控件editext或者button獲得焦點時作為一個組出現使用(翻譯的不好,水平有限,理解就好),這樣一來,將android:addStatesFromChildren設為true,當組中的EditText或是Button獲取焦點時,將Layout的Background設置成相應EditText或的Button的Drawable ,這樣看上去該linear中的view是一個整體。
還是有實際項目做比較好,遇到新的問題就可以多不斷積累經驗,繼續加油騷年~!