一,What is MaterialEditText?
? ? AppCompat v21 使我們?cè)贏PP中使用Material Design EditText很容易,但是限制太多,所以巩踏,一群牛人做了這個(gè)符合MaterialDesign的EditText組件,它是繼承EditText的,我們可以很方便的用它动雹。我這里只是簡(jiǎn)單地用下,詳細(xì)使用請(qǐng)參考以下官方文檔跟压。
該開(kāi)源項(xiàng)目地址:MaterialEditText?
中文文檔:中文文檔?
二胰蝠,實(shí)現(xiàn)效果
? ? 這比原來(lái)的EditText好看多了,有木有震蒋?
三茸塞,實(shí)現(xiàn)過(guò)程
? 1,導(dǎo)庫(kù)
我用的是gradle,所以直接在build.gradle里加
compile'com.rengwuxian.materialedittext:library:2.1.4‘
? 2查剖,用組件(以本圖用戶名為例)
<com.rengwuxian.materialedittext.MaterialEditText
app:met_baseColor="#0056d3" ?//一些顏色钾虐,默認(rèn)就行了
app:met_iconPadding="2dp" ?//圖標(biāo)邊距
app:met_primaryColor="#982360"
app:met_errorColor="#ddaa00"
app:met_clearButton="true" ?//設(shè)置清楚按鈕,就是尾部的那個(gè)X
app:met_iconLeft="@drawable/ic_perm_identity_black_24dp" ?//設(shè)置圖標(biāo)資源笋庄,這里是那個(gè)人頭圖標(biāo)
app:met_singleLineEllipsis="false" ?//單行省略設(shè)置
android:layout_width="match_parent"
android:lines="1" ?//行數(shù)
android:hint="用戶名" ? //我把它看作提示語(yǔ)
app:met_floatingLabelText="用戶名" ?//標(biāo)簽文字效扫,輸入狀態(tài)時(shí)它會(huì)浮在上面
app:met_floatingLabel="highlight" ?//標(biāo)簽文字高亮
android:id="@+id/editText_username" ?
android:layout_height="wrap_content"
app:met_autoValidate="true" ?//自動(dòng)校準(zhǔn)
app:met_minCharacters="1" ?//最小字符數(shù)
app:met_maxCharacters="20" ?//最大字符數(shù)
/>
其它屬性請(qǐng)參考上面的開(kāi)源文檔
3,代碼設(shè)置
editText_username= (MaterialEditText) findViewById(R.id.editText_username); ?//賦值
editText_username.isCharactersCountValid() ?//返回字?jǐn)?shù)是否符合要求
還有其他的屬性直砂,比如可以設(shè)置正則表達(dá)式匹配字符串等菌仁,我還沒(méi)用過(guò),有興趣自己去研究吧静暂。