API 25 (Android 7.1.1 API) widget.TextView——屬性分析
TextView
public class TextView
extends View implements ViewTreeObserver.OnPreDrawListener
Added in API level 1
java.lang.Object
↳android.widget.TextView
已知直接子類
AppCompatTextView
Button
CheckedTextView
Chronometer
DigitalClock
EditText
RowHeaderView
TextClock
【概述】
向用戶顯示文字,並且可以允許他們編輯它。 TextView是一個完整的文字編輯器,但是基本類被配置為不允許編輯;對於配置文字檢視進行編輯的子類,請參閱EditText。
要允許使用者複製一些或全部TextView的值並將其貼上到其他地方,請將XML屬性android:textIsSelectable設定為“true”或呼叫setTextIsSelectable(true)。textIsSelectable標誌允許使用者在TextView中進行選擇手勢,從而觸發系統的內建複製/貼上控制元件。
備註:
使用<TextView>來輸入文字通常是一個錯誤,您應該使用
【巢狀類】
列舉 TextView.BufferType
介面 TextView.OnEditorActionListener
在編輯器上執行操作時要呼叫的回撥的介面定義。
類 TextView.SavedState
由TextView儲存的用於實現onSaveInstanceState()的使用者介面狀態。
【XML屬性】
android: autoLink
API 1
關聯方法:setAutoLinkMask(int mask)
屬性說明: 設定是否顯示為超連結。(none/web/email/phone/map/all) 預設為none。
必須是以下常量之一:
none 不匹配。預設值。
web 匹配URL地址,單擊使用瀏覽器開啟
email 匹配郵箱地址,單擊發送郵件
phone 匹配電話號碼,單擊撥打電話
map 匹配地圖地址,單擊使用google地圖開啟,支援英文
all 匹配上述四種格式
對應的全域性屬性資源符號是autoLink。
當TextView的內容既包含漢字又包含網址。如要想成功實踐超連結功能,就必須在漢字後新增空格或者換行,否則地址就是此TextView的所有內容。
HTML解析超連結:通過Spanned物件設定text,而通過HTML的formHTML來獲取Spanned物件
textView.setText(Html.fromHtml("百度:<a href='http://www.baidu.com'>http://www.baidu.com</a>
<h1><i><font color='#000FFF'>h1號字 斜體 藍色</font></i>"));
android: autoText
API 1
關聯方法:setKeyListener(KeyListener input)
屬性說明: 如果為true,指定此TextView有一個文字輸入法,並自動糾正一些常見的拼寫錯誤。預設false。
必須是布林值(boolean),“true”或“false”。
也可以引用一個包含此型別值的資源(格式:@[package:]type:name)或主題屬性(格式:?[package][type:]name)。
對應的全域性屬性資源符號是autoText。
全域性屬性autoText在API 3被棄用,使用inputType代替。
Android:autoText不應使用在TextView,應使用在EditView
android: breakStrategy
API 23
關聯方法:setBreakStrategy(intbreakStrategy)
屬性說明:打破策略(控制段落佈局)。
必須是以下常量之一:
simple 0
high_quality 1 高質量,包括連字
balanced 2 段落長度平衡
對應的全域性屬性資源符號是breakStrategy。
android: bufferType
API 1
關聯方法:setText(CharSequence,TextView.BufferType)
屬性說明:設定getText()將返回的最小型別。 預設值為“normal”。 注意,EditText和LogTextBox總是返回Editable,即使你在這裡指定的功能更強大。
必須是以下常量之一:
normal 預設。
editable 類似於StringBuilder可追加字元,getText後可呼叫append方法設定文字內容。
spannable 則可在給定的字元區域使用樣式
對應的全域性屬性資源符號是bufferType。
有意思的是 Editable繼承了Spannable所以具備較多的功能。
注意,EditText和LogTextBox總是返回Editable,即使你在這裡指定的功能更強大
android: capitalize
API 1
關聯方法:setKeyListener(KeyListener input)
屬性說明:設定英文字母大寫型別。
必須是以下常量之一:
none 不轉換。預設值。
sentences 每一個句子首字母大寫
words 每一個單詞首字母大寫
characters 每一個英文字母都大寫
對應的全域性屬性資源符號是bufferType。
全域性屬性capitalize在API 3被棄用,使用inputType代替。
Android:capitalize不應使用在TextView,應使用在EditView
android: cursorVisible
API 1
關聯方法:setCursorVisible(boolean visible)
屬性說明:設定游標為顯示/隱藏,預設顯示。如果設定false,即使選中了也不顯示游標欄。
必須是布林值(boolean),“true”或“false”。
也可以引用一個包含此型別值的資源(格式:@[package:]type:name)或主題屬性(格式:?[package][type:]name)。
對應的全域性屬性資源符號是cursorVisible。
Android:cursorVisible不應使用在TextView,應使用在EditView
設定EditText游標在右邊,輸入內容從右往左。Android:gravity=”right/end”
android: digits
API 1
關聯方法:setKeyListener(KeyListener input)
屬性說明:設定允許輸入哪些字元。如”1234567890.+-*/% ()”、”0123456789xyzXYZ”。常用於密碼驗證。
必須是字串值(string),使用'\\;'以轉義Unicode字元的字元,如'\\ n'或'\\ uxxxx'。
也可以引用一個包含此型別值的資源(格式:@[package:]type:name)或主題屬性(格式:?[package][type:]name)。
對應的全域性屬性資源符號是digits。
Android:digits不應使用在TextView,應使用在EditView
android: drawablePadding
API 1
關聯方法:setCompoundDrawablePadding(int pad)
屬性說明:設定文字框內文字與影象之間的間距,與drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可設定為負數,單獨使用沒有效果。
必須是帶單位的浮點型尺寸值(float),如:”14.5sp”。有效的單位包括:px(畫素)、dp(密度無關畫素)、sp(通常用於字型尺寸的可伸縮畫素)、in(英寸)、mm(毫米)。
也可以引用一個包含此型別值的資源(格式:@[package:]type:name)或主題屬性(格式:?[package][type:]name)。
對應的全域性屬性資源符號是drawablePadding。
android: drawableTop
API 1
關聯方法:setCompoundDrawablesWithIntrinsicBounds(int left,int top,int right,int bottom)
屬性說明:在文字框頂部繪製指定影象。
android: drawableBottom
API 1
關聯方法:setCompoundDrawablesWithIntrinsicBounds(int left,int top,int right,int bottom)
屬性說明:在文字框底部繪製指定影象。
android: drawableLeft
API 1
關聯方法:setCompoundDrawablesWithIntrinsicBounds(int left,int top,int right,int bottom)
屬性說明:在文字框左邊繪製指定影象。
android: drawableRight
API 1
關聯方法:setCompoundDrawablesWithIntrinsicBounds(int left,int top,int right,int bottom)
屬性說明:在文字框右邊繪製指定影象。
android: drawableStart
API 14
關聯方法:setCompoundDrawablesRelativeWithIntrinsicBounds(int start,int top,int end,int bottom)
屬性說明:在文字框開始處繪製指定影象。
android: drawableEnd
API 14
關聯方法:setCompoundDrawablesRelativeWithIntrinsicBounds(int start,int top,int end,int bottom)
屬性說明:在文字框結尾處繪製指定影象。
必須引用另一個資源(格式:@[package:]type:name)或主題屬性(格式:?[package][type:]name)。
可以是顏色值(color),格式”#rgb”、”#argb”、”#rrggbb”、”#aarrggbb”。
對應的全域性屬性資源符號是drawableTop、drawableBottom、drawableLeft、drawableRight、drawableStart、drawableEnd。
setCompoundDrawables(Drawable left,Drawable top,Drawable right,Drawable bottom) API 1
setCompoundDrawablesRelative(Drawablestart,Drawable top,Drawableend,Drawable bottom) API 17
Drawable必須已經呼叫了setBounds(Rect)。
setCompoundDrawablesWithIntrinsicBounds(Drawable left,Drawable top,Drawable right,Drawable bottom) API 1
setCompoundDrawablesWithIntrinsicBounds(int left,int top,int right,int bottom) API 3
setCompoundDrawablesRelativeWithIntrinsicBounds(Drawablestart,Drawable top,Drawableend,Drawable bottom) API 17
setCompoundDrawablesRelativeWithIntrinsicBounds(intstart,int top,intend,int bottom) API 17
Drawable的邊界將被設定為他們的內在邊界。
android: drawableTint
API 23
關聯方法:setCompoundDrawableTintList(ColorStateList tint)
屬性說明:設定文字影象的色調。
可以是一個顏色值(color),格式”#rgb”、”#argb”、”#rrggbb”、”#aarrggbb”。
還可以引用一個資源(格式:@[package:]type:name)或者是包含這種型別值的主題屬性(格式:?[package][type:]name)。
它對應的全域性資源符號是drawableTint。
android: drawableTintMode
API 23
關聯方法:setCompoundDrawableTintMode(PorterDuff.Mode tintMode)
屬性說明:設定文字影象色調的渲染模式。
可以是以下常量之一:
src_over
src_in
src_atop
multiply
screen
add
它對應的全域性資源符號是drawableTintMode。
android: editable
API 1
屬性說明: 設定是否可編輯。TextView,預設為false;EditView,預設為true
必須是布林值(boolean),“true”或“false”。
也可以引用一個包含此型別值的資