原鏈接http://www.cnblogs.com/yishaochu/p/5785234.html
title: EditText 基本用法
tags: EditText,編輯框,輸入框
---
EditText介紹:
EditText 在開發(fā)中也是經(jīng)常用到的控件,也是一個(gè)比較必要的組件,可以說它是用戶跟Android應(yīng)用進(jìn)行數(shù)據(jù)傳輸?shù)拇皯?,比如?shí)現(xiàn)一個(gè)登陸界面,需要用戶輸入賬號(hào)密碼,然后我們獲取用戶輸入的內(nèi)容,提交給服務(wù)器進(jìn)行判斷。
EditText 支持的 XML 屬性及相關(guān)方法
XML 屬性相關(guān)方法說明
android:textsetText(CharSequence text)設(shè)置文本內(nèi)容
android:textColorsetTextColor(int color)字體顏色
android:hintsetHint(int resid)內(nèi)容為空時(shí)候顯示的文本
android:textColorHintvoid setHintTextColor(int color)為空時(shí)顯示的文本的顏色
android:inputTypesetInputType(int type)限制輸入類型
number:整數(shù)類型
numberDecimal:小數(shù)點(diǎn)類型
date:日期類型
text:文本類型(默認(rèn)值)
phone:撥號(hào)鍵盤
textPassword:密碼
textVisiblePassword:可見密碼
textUri:網(wǎng)址
android:maxLength限制顯示的文本長(zhǎng)度,超出部分不顯示
android:minLinessetMaxLines(int maxlines)設(shè)置文本的最小行數(shù)
android:gravitysetGravity(int gravity)設(shè)置文本位置,如設(shè)置成“center”,文本將居中顯示。
android:drawableLeftsetCompoundDrawables(Drawable left,Drawable top,Drawable right, Drawable bottom)在text的左邊輸出一個(gè)drawable,如圖片
android:drawablePadding設(shè)置text與drawable(圖片)的間隔,與drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可設(shè)置為負(fù)數(shù),單獨(dú)使用沒有效果。
android:digits設(shè)置允許輸入哪些字符。如“1234567890”
android:ellipsize設(shè)置當(dāng)文字過長(zhǎng)時(shí),該控件該如何顯示。
start:省略號(hào)顯示在開頭
end:省略號(hào)顯示在結(jié)尾
middle:省略號(hào)顯示在中間
marquee:以跑馬燈的方式顯示(動(dòng)畫橫向移動(dòng))
android:linessetLines(int lines)設(shè)置文本的行數(shù),設(shè)置兩行就顯示兩行,即使第二行沒有數(shù)據(jù)。
android:lineSpacingExtra設(shè)置行間距
android:singleLinesetSingleLine()true:單行顯示 false:可以多行
android:textStyle設(shè)置字形,可以設(shè)置一個(gè)或多個(gè),用"\
EditText實(shí)例:開發(fā)中常用的登錄界面
首先我們來看布局文件:activity_main.xml
運(yùn)行效果圖如下:
這兩個(gè)輸入框的用的的大部分屬性都在上面的表格中了,我這里解決下沒有說過的屬性。
android:background="@null" 輸入框無背景
android:drawableBottom="@drawable/shape_et_bottom_line" 底部引入一個(gè)shape布局文件,這個(gè)布局文件就是輸入框的下劃線。
shape_et_bottom_line.xml內(nèi)容如下:
EditeText還有哪些功能?
1.監(jiān)聽用戶輸入的內(nèi)容.
有這樣一個(gè)場(chǎng)景,一個(gè)搜索框,只要用戶輸入了內(nèi)容就去請(qǐng)求服務(wù)器,于是我們?cè)贏ctivity里面監(jiān)聽EditeText文本改變事件。
EditText etOne= (EditText) findViewById(R.id.et_phone);etOne.addTextChangedListener(newTextWatcher() {@OverridepublicvoidbeforeTextChanged(CharSequence s,intstart,intcount,intafter){? ? ? ? ? ? ? ? Log.i("Ansen","內(nèi)容改變之前調(diào)用:"+s);? ? ? ? ? ? }@OverridepublicvoidonTextChanged(CharSequence s,intstart,intbefore,intcount){? ? ? ? ? ? ? ? Log.i("Ansen","內(nèi)容改變,可以去告訴服務(wù)器:"+s);? ? ? ? ? ? }@OverridepublicvoidafterTextChanged(Editable s){? ? ? ? ? ? ? ? Log.i("Ansen","內(nèi)容改變之后調(diào)用:"+s);? ? ? ? ? ? } });
首先我們通過id找到EditText控件,并且添加監(jiān)聽函數(shù),內(nèi)部?jī)?nèi)實(shí)現(xiàn)TextWatcher接口,重寫三個(gè)方法。我們可以在onTextChanged方法中告訴服務(wù)器我要搜索的內(nèi)容。
源碼下載
點(diǎn)擊下載源碼https://github.com/ansen666/EditTextDemo
各位看官如果覺得文章不錯(cuò),幫忙點(diǎn)個(gè)贊吧,對(duì)于你來說是舉手之勞,但對(duì)于我來說這就是堅(jiān)持下去的動(dòng)力。
如果你想第一時(shí)間看我們的后期文章,掃碼關(guān)注公眾號(hào),每周不定期推送Android開發(fā)實(shí)戰(zhàn)教程文章,你還等什么,趕快關(guān)注吧,學(xué)好技術(shù),出任ceo,贏取白富美。。。。