在Android中常見的組件有TextView(文本視圖組件)、EditText(文本編輯)、Button(按鈕)、ImageView(圖像視圖組件)等等。
TextView是Android中最簡單的一個控件,在新建Android項目的過程中HelloWorld的文本信息也就是由它顯示。TextView是大部分常見組件對象的父類,通過自定義TextView也可以完成絕大多數UI控件的效果。關于TextView控件在XML布局中常用屬性有:
android:layout_width:設置組件的寬度
android:layout_height:設置組件的高度
(控件中的尺寸以dp為單位度量,除此外有match_parent、fill_parent、wrap_content 可以提供給屬性直接使用)
android:id:設置組件的ID,也即是定義當前組件的唯一標識
android:text:設置組件的文本內容
android:textSise:設置組件的文本內容字體大小(字體大小以sp為單位)
android:gravity :設置組件內容在組件中的位置
android:background:設置組件的背景內容
(組件的背景內容主要以圖片或純色作為底圖)
除了以上列出來的屬性外TextView尚有其他屬性可以在Android API文檔中可以查閱到。
Buttton控件是程序與用戶交互的一個重要控件,而它的屬性和TextView是差不多的。 在AndroidStudio中,Button實際在設置文字內容時,很多人會發現與TextView不同。例如在“android:text”中寫入“Button”但最終顯示出BUTTON,這是由于系統會對Button中的所有英文字母自動進行大寫轉化。想要禁用該行為,需要加上“android:textAllCaps=false”
Button除了其自身攜帶的點擊效果外,我們通常也會給它加上監聽,使它具有監聽事件的能力。
EditText控件式程序用于和用戶進行交互的另一個重要的控件,它允許用戶在控件里輸入和編輯內容,并允許在程序中對這些內容加以處理。EditText應用非常普遍,發短信、發微信、發微博等等,是不得不使用EditText的。
于此同時在實際開發中,EditText也附帶了一些比較有意思的屬性,例如:
android:hint : 指定一段提示性的文本,然后當我們輸入任何內容時,這段文本就會自動消失。
android:maxLines:隨著輸入內容不斷增多,EditText會顯示區域不夠,影響界面的美觀,因此使用該屬性可以超出的內容部分使用滾動的方式顯示。
通過TextView、Button、EditText 我們可以編寫一個通過點擊按鈕,使TextView顯示EditText編輯內容的案例。
ImageView 是用于在界面上展示圖片的一個控件,它使得我們的界面變得豐富多彩。學習該控件也需要在drawable文件下部署一些圖片,AndroidStudio在Android目錄下僅有一個darwable文件,但當你切換到Project的時候,會在res下找到drawable包含的不同清晰度的文件夾。ImageView設置圖片內容不需要使用android:background屬性 ,它本身的 android:src屬性可以為它設置控件的圖像內容。一般我們在不知道圖片長寬的情況下寬高屬性最好用wrap_content
通過ImageView,和上述的其他組件我們可以仿制手機淘寶的登陸界面,靈活使用布局以及控件。(android ui 組件)
接下來分享一些新版本下的Android控件:
Android 5.0 版本 : CardView 卡片視圖 (布局中的內容)
RecyclerView 循環視圖 (列表)
Toolbar 工具欄 (ActionBar的進化)
RippleDrawable 波紋圖 (Android特效動畫)
Android 6.0 版本 :FloatingActionButton
Snackbar
TextInputLayout
TabLayout
這些控件在新的Android開發中有舉足輕重的地位,也省去了開發者在長時間的自定義控件中所花費的時間。