国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Manual pembangunan Android / View與ViewGroup的概念

View與ViewGroup的概念

本節(jié)引言

告別了第一章,迎來第二章——Android中的UI(User Interface)組件的詳解, 而本節(jié)我們要學習的是所有控件的父類View和ViewGroup類!突發(fā)奇想,直接翻譯官方文檔對 這兩個東西的介紹吧,對了,天朝原因,google上不去,Android developer上不去,我們可以 改hosts或者用vpn代理,當然也可以像筆者一樣使用國內(nèi)的API鏡像,這里分享個吧:http://androiddoc.qiniudn.com/guide/topics/ui/overview.html這個鏡像是5.0的API!


UI Overview


在Android APP中,所有的用戶界面元素都是由View和ViewGroup的對象構(gòu)成的。View是繪制在屏幕上的用戶能與之交互的一個對象。而ViewGroup則是一個用于存放其他View(和ViewGroup)對象的布局容器! Android為我們提供了一個View和ViewGroup子類的集合,集合中提供了一些常用的輸入控件(比如按鈕和文本域)和各種各樣的布局模式(比如線性或相對布局)

User Interface Layout


你的APP的用戶界面上的每一個組件都是使用View和ViewGroup對象的層次結(jié)構(gòu)來構(gòu)成的,比如 圖 1。每個ViewGroup都是要給看不見的用于組織子View的容器,而它的子View可能是輸入控件 或者在UI上繪制了某塊區(qū)域的小部件。有了層次樹,你就可以根據(jù)自己的需要,設(shè)計簡單或者復 雜的布局了(布局越簡單性能越好)

1.png

圖 1.一個UI布局的層次結(jié)構(gòu)的插圖

定義你的布局,你可以在代碼中實例化View對象并且開始構(gòu)建你的樹,但最容易和最高效的方式來定義你的布局則是使用一個XML文件,用XML來構(gòu)成布局更加符合人的閱讀習慣,而XML類似與HTML 使用XML元素的名稱代表一個View。所以< TextView >元素會在你的界面中創(chuàng)建一個TextView控件,而一個< LinearLayout >則會創(chuàng)建一個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會將布局中的每個節(jié)點進行實例化成一個個對象,然后你可以為這些定義一些額外的行為,查詢對象的狀態(tài),或者修改布局。 完整創(chuàng)建UI布局的引導,請參考XML Layouts

User Interface Components


你無需全部用View和ViewGroup對象來創(chuàng)建你的UI布局。Android給我們提供了一些app控件,標準的UI布局,你只需要定義內(nèi)容。這些UI組件都有其屬性介紹的API文檔,比如操作欄,對話框和狀態(tài)通知欄等。


本節(jié)小結(jié)

好吧,翻譯可能比較拗口,哎,英語盲盡力了,簡單歸納下上述內(nèi)容:

Android里的圖形界面都是由View和ViewGroup以及他們的子類構(gòu)成的:View:所有可視化控件的父類,提供組件描繪和時間處理方法ViewGroup: View類的子類,可以擁有子控件,可以看作是容器 Android UI中的控件都是按照這種層次樹的結(jié)構(gòu)堆疊得,而創(chuàng)建UI布局的方式有兩種, 自己在Java里寫代碼或者通過XML定義布局,后者顯得更加方便和容易理解! 也是我們最常用的手段!另外我們一般很少直接用View和ViewGroup來寫布局,更多的 時候使用它們的子類控件或容器來構(gòu)建布局!

恩呢,對View和ViewGroup有個大概了解即可,平時我們是不會直接用的,一般是自定義View的時候 才會使用這兩個東西!