TextInputLayout總結

 1,app:errorEnabled 屬性,

下圖是沒有設置app:errorEnabled屬性的情況(app:errorEnabled默認爲false)

 下圖設置app:errorEnabled屬性爲true的情況,可以看到內容(我是EditText的內容)下方多出了一塊藍色區域,該區域用於展示錯誤信息。

上面的兩張圖是 TextInputLayout 和 EditText都是wrap_content 的情況下,設置了app:errorEnabled屬性爲true,TextInputLayout就會自動多出一部分區域用於展示錯誤信息。

然而,當TextInputLayout 設置了一定的高度,足夠在下方展示錯誤信息而不被EditText遮擋時,設置app:errorEnabled屬性爲true就不會再自動多出一部分區域用於展示錯誤信息。如下圖所示,設置TextInputLayout爲100dp

並且可以看到另一個現象(知識點),當TextInputLayout 和 EditText 同時設置hint時,以TextInputLayout 的爲準,顯示的是設置在TextInputLayout 的提示

並且,在只設置EditText 的hint時,運行到手機上,手動將EditText 的內容清空,提示不出再顯示在EditText 中,同時設置TextInputLayout 和 EditText 的提示時,手動將EditText 的內容清空,EditText 的提示會顯示在EditText 中

2,總結。。。坑貨,

2.1 android:hint="我是提示" 無論設置到 TextInputLayout 還是 EditText 上 效果都是一樣的
2.2 app:hintEnabled="true"屬性默認是true,如果設置爲false,提示就不會”跑到上方“,就像普通的EditText 一樣。

2.3   app:hintAnimationEnabled="true",默認也是true的

2.4  app:passwordToggleEnabled="false" 爲false,設置爲true會顯示祕密可見的開關的小圖片,也會是EditText 變高很多,就如上下方向加了padding一樣, 應該是因爲顯示密碼開關圖片的緣故了

3. ConstraintLayout 內嵌套控件

如下圖所以,外層的ConstraintLayout 的寬高都是wrap_content,內層的ImageView寬高都是match_parent,而顯示卻是下面的效果,可以理解爲,在ConstraintLayout寬高 是wrap_content 的情況下,內存的match_parent 是不起作用的,這種情況和LinearLayout類似,而外層如果是RelativeLayout,就會充滿整個頁面。


 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章