Android edittext 屬性inputtype詳解

上個星期看公司一個項(xiàng)目中靈活用到edittext 屬性inputtype。inputtype屬性不僅可以再xml里面定義崔步。還可以在activity設(shè)置的村视。項(xiàng)目應(yīng)用場景是這樣坚弱。一個頁面需要很多的對話框輸入斧拍,包括需要字符型雀扶,數(shù)字型,或者密碼輸入肆汹。但是只做了一個彈出對話框愚墓,然后不同調(diào)用這個對話框,用唯一碼識別那個按鍵調(diào)用彈出昂勉。那么彈出來對話框(輸入類型)要靈活設(shè)置浪册。就需要activity傳遞inputtype這個屬性值進(jìn)行設(shè)置。因?yàn)檫@個對話框都只調(diào)用了一個xml岗照。這是一個場景吧村象。

一、先說說xml里面的調(diào)用攒至,這個都不陌生的說厚者。

       <EditText
            android:id="@+id/edittext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="number" />

這里輸入是數(shù)字吧。

二迫吐、activity里的調(diào)用籍救。或者其他class渠抹。

EditText testEditText = (EditText) findViewById(R.id.edittext);
        int inputType = InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_NORMAL;
        testEditText.setInputType(inputType);

這個inputType值是不會很好用啊。靈活吧闪萄!
那我貼圖看一下源碼中InputType屬性類吧梧却。如下圖,

image
image

這上面貼就是inputype全部屬性了败去,這些多看看放航,都是英文單詞。

三圆裕、順便介紹一下xml的inputtype的值广鳍。 android:inputType=”none”
android:inputType=”text”
android:inputType=”textCapCharacters” 字母大寫
android:inputType=”textCapWords” 首字母大寫
android:inputType=”textCapSentences” 僅第一個字母大寫
android:inputType=”textAutoCorrect” 自動完成
android:inputType=”textAutoComplete” 自動完成
android:inputType=”textMultiLine” 多行輸入
android:inputType=”textImeMultiLine” 輸入法多行(如果支持)
android:inputType=”textNoSuggestions” 不提示
android:inputType=”textUri” 網(wǎng)址
android:inputType=”textEmailAddress” 電子郵件地址
android:inputType=”textEmailSubject” 郵件主題
android:inputType=”textShortMessage” 短訊
android:inputType=”textLongMessage” 長信息
android:inputType=”textPersonName” 人名
android:inputType=”textPostalAddress” 地址
android:inputType=”textPassword” 密碼
android:inputType=”textVisiblePassword” 可見密碼
android:inputType=”textWebEditText” 作為網(wǎng)頁表單的文本
android:inputType=”textFilter” 文本篩選過濾
android:inputType=”textPhonetic” 拼音輸入
//數(shù)值類型
android:inputType=”number” 數(shù)字
android:inputType=”numberSigned” 帶符號數(shù)字格式
android:inputType=”numberDecimal” 帶小數(shù)點(diǎn)的浮點(diǎn)格式
android:inputType=”phone” 撥號鍵盤
android:inputType=”datetime” 時間日期
android:inputType=”date” 日期鍵盤
android:inputType=”time” 時間鍵盤

四荆几、介紹edittext其他常用屬性,網(wǎng)絡(luò)上收集的赊时。

android:layout_gravity="center_vertical" 設(shè)置控件顯示的位置:默認(rèn)top吨铸,這里居中顯示,還有bottom android:hint="請輸入數(shù)字祖秒!"設(shè)置顯示在空間上的提示信息

android:numeric="integer" 設(shè)置只能輸入整數(shù)诞吱,如果是小數(shù)則是:decimal
android:singleLine="true" 設(shè)置單行輸入,一旦設(shè)置為true竭缝,則文字不會自動換行房维。
android:password="true" 設(shè)置只能輸入密碼
android:textColor = "#ff8c00" 字體顏色
android:textStyle="bold" 字體,bold, italic, bolditalic

android:textSize="20dip" 大小
android:capitalize = "characters" 以大寫字母寫
android:textAlign="center" EditText沒有這個屬性抬纸,但TextView有 android:textColorHighlight="#cccccc" 被選中文字的底色咙俩,默認(rèn)為藍(lán)色
android:textColorHint="#ffff00" 設(shè)置提示信息文字的顏色,默認(rèn)為灰色

android:textScaleX="1.5" 控制字與字之間的間距
android:typeface="monospace" 字型湿故,normal, sans, serif, monospace

android:background="@null" 空間背景阿趁,這里沒有,指透明
android:layout_weight="1" 權(quán)重晓锻,控制控件之間的地位,在控制控件顯示的大小時蠻有用的歌焦。
android:textAppearance="?android:attr/textAppearanceLargeInverse" 文字外觀,這里引用的是系統(tǒng)自帶的一個外觀砚哆,独撇?表示系統(tǒng)是否有這種外觀,否則使用默認(rèn)的外觀躁锁。不知道這樣理解對不對纷铣?

通過EditText的layout xml文件中的相關(guān)屬性來實(shí)現(xiàn):
1. 密碼框?qū)傩?android:password="true" 這條可以讓EditText顯示的內(nèi)容自動為星號,輸入時內(nèi)容會在1秒內(nèi)變成*字樣战转。
2. 純數(shù)字 android:numeric="true" 這條可以讓輸入法自動變?yōu)閿?shù)字輸入鍵盤搜立,同時僅允許0-9的數(shù)字輸入
3. 僅允許 android:capitalize="cwj1987" 這樣僅允許接受輸入cwj1987,一般用于密碼驗(yàn)證 下面是一些擴(kuò)展的風(fēng)格屬性
android:editable="false" 設(shè)置EditText不可編輯
android:singleLine="true" 強(qiáng)制輸入的內(nèi)容在單行
android:ellipsize="end" 自動隱藏尾部溢出數(shù)據(jù)槐秧,一般用于文字內(nèi)容過長一行無法全部顯示時

雖然這些都是很簡單啄踊,但也很常用。細(xì)節(jié)需要注意刁标,才能做到極致颠通。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市膀懈,隨后出現(xiàn)的幾起案子顿锰,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件硼控,死亡現(xiàn)場離奇詭異刘陶,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)牢撼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門匙隔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人浪默,你說我怎么就攤上這事牡直。” “怎么了纳决?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵碰逸,是天一觀的道長。 經(jīng)常有香客問我阔加,道長饵史,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任胜榔,我火速辦了婚禮胳喷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘夭织。我一直安慰自己吭露,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布尊惰。 她就那樣靜靜地躺著讲竿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪弄屡。 梳的紋絲不亂的頭發(fā)上题禀,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機(jī)與錄音膀捷,去河邊找鬼迈嘹。 笑死,一個胖子當(dāng)著我的面吹牛全庸,可吹牛的內(nèi)容都是我干的秀仲。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼壶笼,長吁一口氣:“原來是場噩夢啊……” “哼啄育!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拌消,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后墩崩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氓英,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年鹦筹,在試婚紗的時候發(fā)現(xiàn)自己被綠了铝阐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡铐拐,死狀恐怖徘键,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情遍蟋,我是刑警寧澤吹害,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站虚青,受9級特大地震影響它呀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜棒厘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一纵穿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧奢人,春花似錦谓媒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宪赶,卻和暖如春宗弯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背搂妻。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工蒙保, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人欲主。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓邓厕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親扁瓢。 傳聞我的和親對象是個殘疾皇子详恼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容