您好,登錄后才能下訂單哦!
Google為了統(tǒng)一Android系統(tǒng)的視覺和使用體驗(yàn)而提出的一個(gè)新的標(biāo)準(zhǔn),這就是Android Design。為了讓舊的系統(tǒng)也能兼容新的標(biāo)準(zhǔn),Google提供了Android Design Support Library包,在此包中,Android提供了很多新的控件。而TextInputLayout正是來自于Android Design Support Library包。
TextInputLayout是一個(gè)新的布局,從繼承樹上看,它繼承自LinearLayout,但是它并不支持android:orientation屬性,因?yàn)門extInputLayout和ScrollView一樣,只能在其中遷入唯一的控件。另外從TextInputLayout這個(gè)布局的名稱可以猜出,這是一個(gè)專門針對(duì)文本輸入動(dòng)作而設(shè)計(jì)的布局。所以TextInputLayout一般是EditText或者AutoCompleteTextView這樣的控件,TextInputLayout為這些控件提供了體驗(yàn)更好的顯示和體驗(yàn)效果。
這里以一個(gè)包含EditText的示例,示范一下TextInputLayout的用法和效果。其布局文件如下:
<android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content" app:counterEnabled="true" app:counterMaxLength="5" app:hintAnimationEnabled="true" app:counterOverflowTextAppearance="@android:style/TextAppearance.DeviceDefault.Large"> <EditText android:id="@+id/password" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPassword" android:maxLines="1" android:hint="@string/prompt_password" android:singleLine="true" /></android.support.design.widget.TextInputLayout>
其中的app是為了使用Android Design Support Library包提供的新屬性,而進(jìn)行的一個(gè)申明,只需要在布局文件的根元素上引入以下的命名空間即可。
xmlns:app="http://schemas.android.com/apk/res-auto"
布局文件設(shè)置完畢,運(yùn)行效果如下圖所示:
從運(yùn)行結(jié)果可以看到,視覺效果明顯比單純的只用EditText好了不少。這里TextInputLayout做了一下幾件事:
自動(dòng)計(jì)算出一個(gè)Padding,為動(dòng)畫,錯(cuò)誤信息以及字?jǐn)?shù)統(tǒng)計(jì)留出足夠的顯示空間。
當(dāng)EditText獲取到焦點(diǎn)時(shí),以動(dòng)畫的方式,將EditText中的hint移動(dòng)到左上方,避免了單獨(dú)使用EditText時(shí),提示信息在獲取到焦點(diǎn)后就不顯示的糟糕體驗(yàn)。
統(tǒng)計(jì)EditText字?jǐn)?shù),并動(dòng)態(tài)更新顯示。
在TextInputLayout中,重要的屬性有以下幾個(gè):
counterEnabled:是否啟用計(jì)數(shù)器
counterMaxLength:?jiǎn)⒂糜?jì)數(shù)器時(shí),最大字?jǐn)?shù)限制(僅僅用做顯示)
counterOverflowTextAppearance:當(dāng)字?jǐn)?shù)超出計(jì)數(shù)器的最大限制時(shí)的字體格式
hintAnimationEnabled:是否啟用hint動(dòng)畫效果
errorEnabled:是否顯示錯(cuò)誤信息
errorTextAppearance:錯(cuò)誤信息的字體格式
歡迎轉(zhuǎn)載,轉(zhuǎn)載同時(shí)請(qǐng)尊重版權(quán),附上本文原文鏈接:點(diǎn)擊這里
==============================
更多內(nèi)容,歡迎查看本人博客:林彥君的博客
==============================
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。