標籤:android 布局 ui view viewgroup
Android基礎入門教程——2.1 View與ViewGroup的概念
標籤(空格分隔): Android基礎入門教程
本節引言:
告別了第一章,迎來第二章——Android中的UI(User Interface)組件的詳解,
而本節我們要學習的是所有控制項的父類View和ViewGroup類!突發奇想,直接翻譯官方文檔對
這兩個東西的介紹吧,對了,天朝原因,google上不去,Android developer上不去,我們可以
改hosts或者用vpn代理,當然也可以像筆者一樣使用國內的API鏡像,這裡分享個吧:
http://androiddoc.qiniudn.com/guide/topics/ui/overview.html
這個鏡像是5.0的API!
UI Overview
在Android APP中,所有的使用者介面元素都是由View和ViewGroup的對象構成的。View是繪製在螢幕上的使用者能與之互動的一個對象。而ViewGroup則是一個用於存放其他View(和ViewGroup)對象的版面配置容器!
Android為我們提供了一個View和ViewGroup子類的集合,集合中提供了一些常用的輸入控制項(比如按鈕和文本域)和各種各樣的配置模式(比如線性或相對布局)
User Interface Layout
你的APP的使用者介面上的每一個組件都是使用View和ViewGroup對象的階層來構成的,比如
圖 1。每個ViewGroup都是要給看不見的用於組織子View的容器,而它的子View可能是輸入控制項
或者在UI上繪製了某塊地區的小組件。有了層次樹,你就可以根據自己的需要,設計簡單或者複
雜的布局了(布局越簡單效能越好)
圖 1.一個UI布局的階層的插圖
定義你的布局,你可以在代碼中執行個體化View對象並且開始構建你的樹,但最容易和最高效的方式來定義你的布局則是使用一個XML檔案,用XML來構成布局更加符合人的閱讀習慣,而XML類似與HTML
使用XML元素的名稱代表一個View。所以< TextView >元素會在你的介面中建立一個TextView控制項,而一個< LinearLayout >則會建立一個LinearLayout的容器!
舉個例子,一個簡單簡單的垂直布局上面有一個文本視圖和一個按鈕,就像下面這樣:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="I am a TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="I am a Button" /></LinearLayout>
當你的App載入上述的布局資源的時候,Android會將布局中的每個節點進行執行個體化成一個個對象,然後你可以為這些定義一些額外的星外,查詢對象的狀態,或者修改布局。
完整建立UI布局的引導,請參考XML Layouts
User Interface Components
你無需全部用View和ViewGroup對象來建立你的UI布局。Android給我們提供了一些app控制項,標準的UI布局,你只需要定義內容。這些UI組件都有其屬性介紹的API文檔,比如操作欄,對話方塊和狀態通知欄等。
本節小結:
好吧,翻譯可能比較拗口,哎,英語盲儘力了,簡單歸納下上述內容:
Android裡的圖形介面都是由View和ViewGroup以及他們的子類構成的:
View:所有可視化控制項的父類,提供組件描繪和時間處理方法
ViewGroup: View類的子類,可以擁有子控制項,可以看作是容器
Android UI中的控制項都是按照這種層次樹的結構堆疊得,而建立UI布局的方式有兩種,
自己在Java裡寫代碼或者通過XML定義布局,後者顯得更加方便和容易理解!
也是我們最常用的手段!另外我們一般很少直接用View和ViewGroup來寫布局,更多的
時候使用它們的子類控制項或容器來構建布局!
恩呢,對View和ViewGroup有個大概瞭解即可,平時我們是不會直接用的,一般是自訂View的時候
才會使用這兩個東西!
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Android基礎入門教程——2.1 View與ViewGroup的概念