天天看點

Android開發EditText屬性

edittext繼承關系:view-->textview-->edittext 

edittext的屬性很多,這裡介紹幾個: 

android:hint="請輸入數字!"//設定顯示在空間上的提示資訊 

android:numeric="integer"//設定隻能輸入整數,如果是小數則是:decimal 

android:singleline="true"//設定單行輸入,一旦設定為true,則文字不會自動換行。 

android:password="true"//設定隻能輸入密碼 

android:textcolor = "#ff8c00"//字型顔色 

android:textstyle="bold"//字型,bold, italic, bolditalic 

android:textsize="20dip"//大小 

android:capitalize = "characters"//以大寫字母寫 

android:textalign="center"//edittext沒有這個屬性,但textview有,居中 

android:textcolorhighlight="#cccccc"//被選中文字的底色,預設為藍色 

android:textcolorhint="#ffff00"//設定提示資訊文字的顔色,預設為灰色android:textscalex="1.5"//控制字與字之間的間距 

android:typeface="monospace"//字型,normal, sans, serif, monospace 

android:background="@null"//背景,這裡沒有,指透明 

android:layout_weight="1"//權重,控制控件之間的地位,在控制控件顯示的大小時蠻有用的。 

android:textappearance="?android:attr/textappearancelargeinverse"//文字外觀 

android:layout_gravity="center_vertical"//設定控件顯示的位置:預設top,這裡居中顯示,還有bottom 

android:gray="top" //多行中指針在第一行第一位置 

et.setselection(et.length());//調整光标到最後一行 

android:autotext //自動拼寫幫助 

android:capitalize //首字母大寫 

android:digits //設定隻接受某些數字 

android:singleline//是否單行或者多行,回車是離開文本框還是文本框增加新行 

android:numeric //隻接受數字 

android:phonenumber //輸入電話号碼 

android:editable //是否可編輯 

android:autolink=”all” //設定文本超連結樣式當點選網址時,跳向該網址 

android:textappearance="?android:attr/textappearancelargeinverse"//文字外觀,這裡引用的是系統自帶的一個外觀,?表示系統是否有這種外觀,否則使用預設的外觀。不知道這樣了解對不對? 

屬性名稱描述 

android:autolink設定是否當文本為url連結/email/電話号碼/map時,文本顯示為可點選的連結。可選值(none/web/email/phone/map/all) 

android:autotext如果設定,将自動執行輸入值的拼寫糾正。此處無效果,在顯示輸入法并輸入的時候起作用。 

android:buffertype指定gettext()方式取得的文本類别。選項editable 類似于stringbuilder可追加字元, 

也就是說gettext後可調用append方法設定文本内容。spannable 則可在給定的字元區域使用樣式,參見這裡1、這裡2。 

android:capitalize設定英文字母大寫類型。此處無效果,需要彈出輸入法才能看得到,參見editview此屬性說明。 

android:cursorvisible設定光标為顯示/隐藏,預設顯示。 

android:digits設定允許輸入哪些字元。如“1234567890.+-*/% ()” 

android:drawablebottom在text的下方輸出一個drawable,如圖檔。如果指定一個顔色的話會把text的背景設為該顔色,并且同時和background使用時覆寫後者。 

android:drawableleft在text的左邊輸出一個drawable,如圖檔。 

android:drawablepadding設定text與drawable(圖檔)的間隔,與drawableleft、drawableright、drawabletop、drawablebottom一起使用,可設定為負數,單獨使用沒有效果。 

android:drawableright在text的右邊輸出一個drawable,如圖檔。 

android:drawabletop在text的正上方輸出一個drawable,如圖檔。 

android:editable設定是否可編輯。這裡無效果,參見editview。 

android:editorextras設定文本的額外的輸入資料。在editview再讨論。 

android:ellipsize設定當文字過長時,該控件該如何顯示。有如下值設定:”start”—?省略号顯示在開頭;”end”——省略号顯示在結尾;”middle”—-省略号顯示在中間;”marquee” ——以跑馬燈的方式顯示(動畫橫向移動) 

android:freezestext設定儲存文本的内容以及光标的位置。參見:這裡。 

android:gravity設定文本位置,如設定成“center”,文本将居中顯示。 

android:hinttext為空時顯示的文字提示資訊,可通過textcolorhint設定提示資訊的顔色。此屬性在editview中使用,但是這裡也可以用。 

android:imeoptions附加功能,設定右下角ime動作與編輯框相關的動作,如actiondone右下角将顯示一個“完成”,而不設定預設是一個回車符号。這個在editview中再詳細說明,此處無用。 

android:imeactionid設定ime動作id。在editview再做說明,可以先看這篇文章:這裡。 

android:imeactionlabel設定ime動作标簽。在editview再做說明。 

android:includefontpadding設定文本是否包含頂部和底部額外空白,預設為true。 

android:inputmethod為文本指定輸入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin,但是這裡報錯找不到。 

android:inputtype設定文本的類型,用于幫助輸入法顯示合适的鍵盤類型。在editview中再詳細說明,這裡無效果。 

android:linksclickable設定連結是否點選連接配接,即使設定了autolink。 

android:marqueerepeatlimit在ellipsize指定marquee的情況下,設定重複滾動的次數,當設定為marquee_forever時表示無限次。 

android:ems設定textview的寬度為n個字元的寬度。這裡測試為一個漢字字元寬度,如圖: 

android:maxems設定textview的寬度為最長為n個字元的寬度。與ems同時使用時覆寫ems選項。 

android:minems設定textview的寬度為最短為n個字元的寬度。與ems同時使用時覆寫ems選項。 

android:maxlength限制顯示的文本長度,超出部分不顯示。 

android:lines設定文本的行數,設定兩行就顯示兩行,即使第二行沒有資料。 

android:maxlines設定文本的最大顯示行數,與width或者layout_width結合使用,超出部分自動換行,超出行數将不顯示。 

android:minlines設定文本的最小行數,與lines類似。 

android:linespacingextra設定行間距。 

android:linespacingmultiplier設定行間距的倍數。如”1.2” 

android:numeric如果被設定,該textview有一個數字輸入法。此處無用,設定後唯一效果是textview有點選效果,此屬性在edtiview将詳細說明。 

android:password以小點”.”顯示文本 

android:phonenumber設定為電話号碼的輸入方式。 

android:privateimeoptions設定輸入法選項,此處無用,在edittext将進一步讨論。 

android:scrollhorizontally設定文本超出textview的寬度的情況下,是否出現橫拉條。 

android:selectallonfocus如果文本是可選擇的,讓他擷取焦點而不是将光标移動為文本的開始位置或者末尾位置。textview中設定後無效果。 

android:shadowcolor指定文本陰影的顔色,需要與shadowradius一起使用。效果: 

android:shadowdx設定陰影橫向坐标開始位置。 

android:shadowdy設定陰影縱向坐标開始位置。 

android:shadowradius設定陰影的半徑。設定為0.1就變成字型的顔色了,一般設定為3.0的效果比較好。 

android:singleline設定單行顯示。如果和layout_width一起使用,當文本不能全部顯示時,後面用“…”來表示。如android:text="test_ singleline " android:singleline="true"

android:layout_width="20dp"将隻顯示“t…”。如果不設定singleline或者設定為false,文本将自動換行 

android:text設定顯示文本. 

android:textsize設定文字大小,推薦度量機關”sp”,如”15sp” 

android:textstyle設定字形[bold(粗體) 0, italic(斜體) 1, bolditalic(又粗又斜) 2] 可以設定一個或多個,用“|”隔開 

android:typeface設定文本字型,必須是以下常量值之一:normal 0, sans 1, serif 2, monospace(等寬字型) 3] 

android:height設定文本區域的高度,支援度量機關:px(像素)/dp/sp/in/mm(毫米) 

android:maxheight設定文本區域的最大高度 

android:minheight設定文本區域的最小高度 

android:width設定文本區域的寬度,支援度量機關:px(像素)/dp/sp/in/mm(毫米),與layout_width的差別看這裡。 

android:maxwidth設定文本區域的最大寬度 

android:minwidth設定文本區域的最小寬度 

android:textappearance設定文字外觀。如“?android:attr/textappearancelargeinverse 

”這裡引用的是系統自帶的一個外觀,?表示系統是否有這種外觀,否則使用預設的外觀。可設定的值如下:textappearancebutton/textappearanceinverse/textappearancelarge/textappearancelargeinverse/textappearancemedium/textappearancemediuminverse/textappearancesmall/textappearancesmallinverse

”這裡引用的是系統自帶的一個外觀,?表示系統是否有這種外觀,否則使用預設的外觀。可設定的值如下:textappearancebutton/textappearanceinverse/textappearancelarge/textappearancelargeinverse/textappearancemedium/text

繼續閱讀