1. 程式人生 > >API 25 (Android 7.1.1 API) widget.TextView——屬性分析

API 25 (Android 7.1.1 API) widget.TextView——屬性分析

Android API 25 (Android 7.1.1) 

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屬性androidtextIsSelectable設定為“true”或呼叫setTextIsSelectabletrue)。textIsSelectable標誌允許使用者在TextView中進行選擇手勢,從而觸發系統的內建複製/貼上控制元件。

備註:

使用<TextView>來輸入文字通常是一個錯誤,您應該使用

<EditText>EditTextTextView的一個子類,一些編輯支援由TextView提供,因此可以在TextView上設定一些與輸入相關的屬性。 但是,使用TextView和輸入屬性通常是剪下和貼上錯誤。 要輸入文字,您應該使用<EditText>。 這個檢查也檢查TextView的子類,如ButtonCheckBox,因為它們有相同的問題:它們不應該與可編輯的屬性一起使用。

【巢狀類】

列舉    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,而通過HTMLformHTML來獲取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

全域性屬性autoTextAPI 3被棄用,使用inputType代替。

AndroidautoText不應使用在TextView,應使用在EditView

android:  breakStrategy

API 23

關聯方法:setBreakStrategy(intbreakStrategy)

屬性說明:打破策略(控制段落佈局)。

必須是以下常量之一:

simple        0

high_quality  高質量,包括連字

balanced      段落長度平衡

對應的全域性屬性資源符號是breakStrategy

android:  bufferType

API 1

關聯方法:setText(CharSequence,TextView.BufferType)

屬性說明:設定getText()將返回的最小型別。 預設值為“normal”。 注意,EditTextLogTextBox總是返回Editable,即使你在這裡指定的功能更強大。

必須是以下常量之一:

normal     預設。

editable   類似於StringBuilder可追加字元,getText後可呼叫append方法設定文字內容。

spannable  則可在給定的字元區域使用樣式

對應的全域性屬性資源符號是bufferType

有意思的是 Editable繼承了Spannable所以具備較多的功能。

注意,EditTextLogTextBox總是返回Editable,即使你在這裡指定的功能更強大

android:  capitalize

API 1

關聯方法:setKeyListener(KeyListener input)

屬性說明:設定英文字母大寫型別

必須是以下常量之一:

none       不轉換預設值。

sentences  每一個句子首字母大寫

words      每一個單詞首字母大寫

characters 每一個英文字母都大寫

對應的全域性屬性資源符號是bufferType

全域性屬性capitalizeAPI 3被棄用,使用inputType代替。

Androidcapitalize不應使用在TextView,應使用在EditView

android:  cursorVisible

API 1

關聯方法:setCursorVisible(boolean visible)

屬性說明:設定游標為顯示/隱藏,預設顯示。如果設定false,即使選中了也不顯示游標欄。

必須是布林值(boolean),true”或“false”。

也可以引用一個包含此型別值的資源格式:@[package:]type:name或主題屬性(格式:?[package][type:]name)。

對應的全域性屬性資源符號是cursorVisible

AndroidcursorVisible不應使用在TextView,應使用在EditView

設定EditText游標在右邊,輸入內容從右往左。Androidgravity=right/end

android:  digits

API 1

關聯方法:setKeyListener(KeyListener input)

屬性說明:設定允許輸入哪些字元。如1234567890.+-*/% ()0123456789xyzXYZ。常用於密碼驗證。

必須是字串值(string),使用'\\;'以轉義Unicode字元的字元,如'\\ n''\\ uxxxx'

也可以引用一個包含此型別值的資源格式:@[package:]type:name或主題屬性(格式:?[package][type:]name)。

對應的全域性屬性資源符號是digits

Androiddigits不應使用在TextView,應使用在EditView

android:  drawablePadding

API 1

關聯方法:setCompoundDrawablePadding(int pad)

屬性說明:設定文字框內文字與影象之間的間距,與drawableLeftdrawableRightdrawableTopdrawableBottom一起使用,可設定為負數,單獨使用沒有效果。

必須是帶單位的浮點型尺寸值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”。

對應的全域性屬性資源符號是drawableTopdrawableBottomdrawableLeftdrawableRightdrawableStartdrawableEnd

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,預設為falseEditView,預設為true

必須是布林值(boolean),true”或“false”。

也可以引用一個包含此型別值的資