版權聲明:轉載請保留原文連結及作者
http://blog.csdn.net/android_freshman/article/details/51136657
Textinputlayout
gradle 配置
|
|
xml
|
|
注意點:部分源代碼中的內容,
TextInputLayout
繼承LinearLayout
且裡面只能有一個editEditText,和scrollView 很像。下面是佈局文件:
|
|
java
注意:不能重寫
TextInputLayout
的OnFocusChangeListener
的監聽事件,因為在源代碼中定義了動畫效果和editText
注入,重寫了會導致動畫失效。
設置浮動標籤動畫效果titleTextInput.setHint(“Title”);
|
|
這一部分是動態錯誤提示的相關代碼
完成上面的,基本就可以出現TextInputLayout
的動畫效果了,但是默認的顏色不是很好看,所以我們需要自定義相關的顏色,比如hint
字的顏色,下劃線的顏色,錯誤字體的顏色大小等,下面就是自定義顏色的部分:
google把
Design Support Library
寫的很好。每一個控件的顏色都是直接通過主題顏色繪製的,在style.xml
中指定。打開它添加colorAccent
到主題以改變表單的顏色。在style.xml
中修改相關的屬性
|
|
colorAccent 是什麼意思,哪裡的顏色
這張圖片基本說明了colorAccent代表的顏色,而在google的官網上:
https://www.google.com/design/spec/style/color.html#color-color-schemes 也有相關的說明
其他相關顏色的說明
android:textColorHint
代表hint
的顏色colorControlNormal
代表下劃線沒有獲取焦點的顏色colorControlActivated
,colorControlHighlight
代表了獲取焦點或者點擊的時候下劃線的顏色
錯誤提示的顏色說明:
默認的錯誤提示的顏色是紅色:在這種背景色下面,紅色不是很好看,所以需要自定義顏色
在設置佈局的時候
errorTextAppearance
這個屬性,自定義style
寫顏色和大小就可以了,至於另一個屬性hintTextAppearance
這個屬性修改顏色,好像沒有什麼效果,不起作用。
修改之後的效果,如下圖:有的機器上面可能沒有效果,下面提供一種解決方案:
|
|