TextView是咱們最經常使用的一個控件了,它相似於C# Winform程序中的Lable,Java Swing編程中的JLable,不過相對功能更強大些,但從功能上看,它其實就是個文字編輯器,只是默認關閉了編輯功能,而EditText這個編輯框控件就是它的直接子類。咱們查看一下API(API Level23)中關於TextView的繼承關係:php
從API文檔咱們能夠看出,TextView直接繼承了View類,同時又是咱們經常使用的EditText、Button、CheckBox、RadioButton的父類。html
直接子類有:AppCompatTextView、Button、CheckTextView、Chronometer、DigitalClock、EditText、RowHeaderView、TextClockandroid
間接子類有:AppCompatAutoCompleteTextView、AppCompatRadioButton、AutoCompleteTextView、CheckBox、CompoundButton、ExtractEditText、MultiAutoCompleteTextView、RadioButton、SearchEditText、Switch、SwitchCompat、ToggleButtongit
下面咱們着重說一下TextView的屬性,其它的子類過一下基本的使用方法。編程
TextView提供了大量的XML屬性,這些屬性不只適用於TextView,一樣適用於他的子類,下面給出這些屬性及其屬性的說明(基於API LEVEL23):編輯器
(本想把API中的屬性都弄過來翻一下,太多了啊啊啊啊啊啊啊,這裏借用瘋狂講義的截圖。。。夠用了。)佈局
下面經過代碼簡單演示一下使用方法,其餘的自行琢磨吧。學習
說明:字體
1.text1是使用textColor屬性設置了字體顏色,textSize屬性設置了字體大小3d
2.text2使用layout_margin設置組件的外邊距,上下左右都是20dp,autoLink是爲了讓組件將超連接直接識別成地址
3.text3使用layout_marginLeft設置了組件的左邊距,maxLength設置組件中文字的最大長度,咱們能夠看到超過7個字符後面的就不顯示了
EditText與TextView很是相似,它與TextView共用了絕大部分的屬性和方法。最大區別就是EditText支持用戶輸入。而TextView屬性中的有關輸入的就是爲它準備的,咱們看一下它的基本用法。
說明:
1.hint爲默認填充的文字,得到焦點後消失
2.inputType爲限定輸入的類型(枚舉類型請查API)
Button一樣繼承了TextView,在界面上展現位一個按鈕,用戶單擊了之後觸發onClick方法,簡單的使用方法見下圖:
說明:
1.按鈕1給文字加了陰影
2.按鈕2給按鈕加了背景色
3.按鈕1事件添加採用了直接在佈局頁綁定生成的方法
4.按鈕2事件添加採用在代碼頁手動綁定
按鈕的功能不少,這裏只簡單介紹了使用方法,擴展使用網上也有不少介紹,這裏再也不一一演示,給出一些學習的網址,供你們參考:
CheckBox和RadioButton控件都只有選中和未選中狀態,不一樣的是RadioButton是單選按鈕,須要編制到一個RadioGroup中,同一時刻一個RadioGroup中只能有一個按鈕處於選中狀態。
如下爲CheckBox和RadioButton經常使用方法及說明。
代碼及示意圖以下:
咱們再來看一下如何獲取選中的狀態:
這兩個開關都是由Button派生來的,因此Button的屬性對於他們兩個都適用,他們本質也是按鈕,與checkbox相似,可是他們一般用於某種狀態的切換。
ToggleButton支持的一些屬性:
Switch支持的一些屬性:
下面的代碼簡單的展現一下使用方法:
本文介紹的諸多組件都是TextView的子類,因此在基本使用上基本沒有太大的難度,可是想作的更好,須要研究的更深刻些。附上一些擴展的使用案例。