MaterialDesign系列文章(十二)TextInputLayout的使用

不怕跌倒,所以飛翔

在TextInputLayout官方文檔API中描述了它是一種新的繼承自LinearLayout的布局,讓我們使用時里面只能包含一個EditText或者其子類的控件,該布局可以通過設置hint和Error顯示浮動標簽.接下來我們看看布局文件

使用方法

XML中的一些屬性標簽

  • app:hintEnable 浮動標簽樣式是否開啟(默認是開啟的)
  • app:errorEnabled 設置是否顯示一個錯誤信息,布爾值
  • app:hintAnimationEnabled 浮動標簽顯示與隱藏之間有哦一個過度動畫(默認是開啟的)
  • app:hintTextAppearance 設置提示文字的樣式(注意這里是運行了動畫效果之后的樣式,這里要通過主題進行更改)
    app:hintTextAppearance="@style/hintAppearance"
    <style name="hintAppearance" parent="TextAppearance.AppCompat">
          <item name="android:textSize">14sp</item>
          <item name="android:textColor">#ffee00</item>
      </style>
    
  • app:counterEnabled 是否增加后面的字數統計;但是要設置最大值
  • app:counterMaxLength 設置輸入的最大值
  • app:passwordToggleEnabled 是否顯示后面的眼睛圖標
  • app:passwordToggleDrawable 可以替換眼睛圖標成我們自己的
  • app:passwordToggleTint 給設置的眼睛圖標設置顏色(這個必須在EditText或者其子類中設置** android:inputType="textPassword"**為密碼樣式的才能看見圖標)
  • app:passwordToggleTintMode 控制密碼可見開關圖標的背景顏色混合模式
  • app:passwordToggleContentDescription 該功能是為Talkback或其他無障礙功能提供的。
  • app:counterOverflowTextAppearance 設置計算器越位后的文字顏色和大小(通過style進行設置的)
  • app:counterTextAppearance 設置正常情況下的計數器文字顏色和大小(通過style進行設置的)
  • app:errorTextAppearance 錯誤提示的文字大小和顏色(通過style進行設置的)

這里有一個很重要的問題要注意一下:

  • TextInputLayout只能又一個子類,并且這個子類必須是EditText的子類
  • android:hint 不要兩個都設置,只需要設置一個,如果你要是設置兩個的話,兩個會重疊放在那里,會導致動畫執行了,橫杠上還有文字
  • 如過你想改變整體的顏色只要重新寫一個主題的顏色就可以了
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
      <item name="colorAccent">#3498db</item>
    </style>
    

一些常見的處理

設置錯誤的提示信息

TextInputLayout.setError("只是展示下錯誤的顯示樣式");

        if (!mLayoutTop.getEditText().getText().toString().equals("123456")) {
            mLayoutTop.setError("賬號信息填寫錯誤");
            mInputEditTextTop.setError("只是展示下錯誤的顯示樣式");//這個好丑啊,我是不會用了
        }

其實這些判斷的話,和之前的EditText都是一樣的,所以在這里就不說了


這一系列文章的地址,希望對大家有幫助

項目地址

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容