1. 程式人生 > >Android Widget:TextView

Android Widget:TextView

TextView使用詳解

TextView有眾多屬性和子類,家大業大,人丁興旺,有必要了解清楚


TextView的出身

java.lang.Object
 ↳ android.view.View
  ↳ android,widget.TextView
TextView
直接子類
Button, CheckedTextView, Chronometer, DigitalClock, EditText, TextClock

間接子類
AutoCompleteTextView, CheckBox, CompoundButton, ExtractEditText, MultiAutoCompleteTextView, RadioButton, Switch, ToggleButton


屬性簡介
android:autoLink	控制是否自動查詢網址和電子郵件地址等連結並將其轉換為可點選連結
android:autoSizeTextType	指定自動大小的型別
android:autoSizeMaxTextSize	自動調整文字大小時的最大文字尺寸 
android:autoSizePresetSizes	要與autoSizeTextTypeset 一起使用的維度的資源陣列 uniform
android:autoSizeStepGranularity	如果autoSizeTextType設定為,請指定自動調整大小步長uniform
android:autoText	  如果設定,則指定此TextView具有文字輸入方法並自動更正一些常見的拼寫錯誤
android:breakStrategy	中斷策略(控制段落佈局)
android:bufferType	確定getText()將返回的最小型別
android:cursorVisible	使游標可見(預設)或不可見
android:capitalize	如果設定,則指定此TextView具有文字輸入方法,並應自動將使用者鍵入的內容大寫
android:digits	如果設定,則指定此TextView具有數字輸入方法,並且這些特定字元是它將接受的字元
android:drawableRight	設定要繪製在文字右側的drawable
android:drawableStart	    設定要繪製到文字開頭的drawable
android:drawableTint	色彩適用於化合物(左,上等)可繪製的
android:drawableTintMode	混合模式用於施加化合物(左,頂等)可繪製色調。 
android:editable	如果設定,則指定此TextView具有輸入方法
android:editorExtras	 引用<
input-extras
>
包含要提供給輸入方法的附加資料的 XML資源,該輸入方法對輸入方法的實現是私有的 android:elegantTextHeight 優雅的文字高度,尤其適用於壓縮較少的複雜指令碼文字 android:ellipsize 如果設定,則導致比檢視寬的單詞被橢圓化而不是在中間斷開 android:ems 使TextView寬度設為若干字元的寬度 layout_width為match_parent時失效 android:fallbackLineSpacing 是否尊重用於顯示文字的後備字型的上升和下降 android:firstBaselineToTopHeight 從TextView頂部到第一個文字基線的距離 android:fontFamily 文本系列(由字串命名或作為字型資源引用) android:fontFeatureSettings 字型功能設定 android:freezesText 如果設定,除了元資料(如當前游標位置)之外,文字檢視還將在其凍結冰柱內包含其當前完整文字 android:gravity 指定當文字小於檢視時,如何通過檢視的x軸和/或y軸對齊文字 android:height 設定TextView的高度 android:hint 提示文字為空時顯示的文字 android:hyphenationFrequency 自動連字的頻率 android:imeActionId 提供 輸入法連線到文字檢視時使用的值EditorInfo.actionId android:imeActionLabel 提供 輸入法連線到文字檢視時使用的值EditorInfo.actionLabel android:imeOptions 您可以在與編輯器關聯的IME中啟用的其他功能,以改善與應用程式的整合 android:includeFontPadding 為上升器和下降器留出足夠的空間,而不是嚴格使用字型上升和下降 android:inputMethod 如果設定,則指定此TextView應使用指定的輸入方法(由完全限定的類名指定) android:inputType 放置在文字欄位中的資料型別,用於幫助輸入方法決定如何讓使用者輸入文字 android:justificationMode 理由模式 android:lastBaselineToBottomHeight 從TextView底部到最後一個文字基線的距離 android:letterSpacing 文字字母間距 android:lineHeight 文字行之間的顯式高度 android:lineSpacingExtra 文字行之間的額外間距 android:lineSpacingMultiplier 文字行之間的額外間距,作為乘數 android:lines 設定TextView的行數 android:linksClickable 如果設定為false,即使autoLink導致找到連結,也不會將移動方法設定為連結移動方法 android:marqueeRepeatLimit 重複選框動畫的次數 android:maxHeight 使TextView最多隻有這麼多畫素高。 android:maxLength 設定輸入過濾器以將文字長度約束為指定的數字。 android:maxLines 使TextView最多這麼多行 android:numeric 如果設定,則指定此TextView具有數字輸入方法 android:password 欄位的字元是否顯示為密碼樣式 android:phoneNumber 如果設定,則指定此TextView具有電話號碼輸入方法 android:privateImeOptions 附加內容型別描述,提供給附加到文字檢視的輸入方法,該輸入方法對輸入方法的實現是私有的 android:scrollHorizontally 是否允許文字比檢視寬(因此可以水平滾動) android:selectAllOnFocus 如果文字是可選的,請在檢視獲得焦點時全部選擇 android:shadowColor 在文字下方放置模糊的文字陰影,使用指定的顏色繪製 android:shadowDx 文字陰影的水平偏移 android:shadowRadius 模糊文字陰影的半徑 android:singleLine 將文字約束為單個水平滾動線,而不是讓它換行到多行,並在按Enter鍵時前進焦點而不是插入換行符 android:text 要顯示的文字 android:textAllCaps 在全部大寫中顯示文字 android:textAppearance 基本文字顏色,字型,大小和樣式 android:textColor 文字顏色 android:textColorHighlight 文字選擇的顏色突出顯示 android:textColorHint 提示文字的顏色 android:textColorLink 連結的文字顏色 android:textIsSelectable 表示可以選擇不可編輯文字的內容 android:textScaleX 設定文字的水平縮放係數 android:textSize 文字大小 android:textStyle 文字的樣式(正常,粗體,斜體,粗體|斜體) android:typeface 文字的字型(普通,無襯線,襯線,等寬字型) android:width 設定TextView的寬度

TextView的跑馬燈效果
android:ellipsize="marquee"  跑馬燈效果
android:focusable="true"  右焦點的
android:focusableInTouchMode="true"  無滾動球裝置的必要條件
android:marqueeRepeatLimit="marquee_forever"  設定重複效果
android:singleLine="true"  單行

可以通過設定elipsize來控制跑馬燈效果的開啟和關閉


一些屬性和用法
  • android:ellipsize
    內容過長時,可以加省略號
    android:ellipsize = “none”   預設值,沒有省略號
    android:ellipsize = “end”     省略號在結尾
    android:ellipsize = “start”    省略號在開頭
    android:ellipsize = “middle”   省略號在中間
    android:ellipsize = “marquee”  跑馬燈
    限制行數,否則省略號不起作用
  • android:autoLink 或呼叫 setAutoLinkMask(int )方法
    文字字串包含有網址、郵箱、電話號碼或地址時,設定是否可以點選進行相應的跳轉到對應的頁面,以及進行哪些匹配
    其中 " | " 表示或
內容 數值 描述
none 0x00 均不匹配 (default)
web 0x01 匹配網址連結
email 0x02 匹配email地址
phone 0x04 匹配電話號碼
map 0x08 匹配地圖地址
all 0x0f 匹配所有(equivalent to web | email | phone | map)

  • TextView支援HTML格式顯示
String html_string = "風吹樹林樹林唯有棄掉<font color=yellow>黃</font><br/>其實過得很<font color=pink>快樂</font>";
text_view.setText(Html.fromHtml(html_string));
  • 支援引數
string.xml字串中帶引數
<string name="text">年僅%1$d的中心是個%2$s</string>
 
text_view_5.setText(getString(R.string.text, "沙雕",20));
年僅20的中心是個沙雕

//%1$d      1表示第一個引數,d表示為數字
//%2$s      2表示第二個引數,s表示為字串
  • android:drawableTop表示是textView上部分顯示圖片
    以此類推 很多圖片加文字的組合並非是ImageView + TextView 而僅僅使用了TextView實現的

2018/8/13