Android – 主要的UI元素。

來源:互聯網
上載者:User

下面的這張圖呈現了Android中最基本的UI構造塊。

該圖片表示的邏輯結構也是出自《Android系統原理及開發要點詳解》一書。

Android中的UI元素常常在布局檔案(Layout)中進行描述,在Java原始碼中通過findViewById()函數根據ID獲得每一個View的控制代碼,並且轉換成實際的類型來使用。

android.view.View的擴充者也稱作widget,通常包含在android.Widget包中,也就是在UI元素中使用的UI元素。

這些android.view.View的擴充者,通常可以在應用程式中直接使用,也可以在應用程式中再擴充一次使用。

android.view.View的一個重要的擴充者是android.view.ViewGroup類,這個類表示一個視圖的集合,在這個視圖的集合可以包含眾多的子視圖。android.view.ViewGroup類的擴充者即是多個視圖的組合,本身也是一個視圖。

1、Button類的擴充關係如下所示:

 -android.view.View

  -android.widget.TextView

   -android.widget.Button

Button類擴充了TextView類,TextView類是View的直接擴充者,表示一個文本地區。Android中以文本為主要內容的各種UI元素均擴充自這個類。

Button類具有一個名為CompoundButton(組合按鈕)的擴充者,CompoundButton又有了RadioButton CheckBox和ToggleButton(開關按鈕,包含開關兩種狀態)。

2、ImageView類是View的直接擴充者。它又被稱為映像視圖,是Android中可以直接顯示圖形的UI元素,其中的映像源是其核心。ImageView有多種不同的設定映像源的方法:

void setImageResource(int resId) //設定映像源的資源ID

void setImageURI(Uri uri)               //設定映像源的URI

void setImageBitmap(Bitmap bm) //設定一個Bitmap的位元影像為映像源。

另外,ImageView還支援縮放、剪裁等功能。

3、ImageButton:映像按鈕

很簡單就是顯示一個帶有映像的按鈕。

注意:在Android中,映像按鈕ImageButton和普通按鈕Button並無擴充關係。

4、ViewGroup

ViewGroup1是一個視圖組,以水平布局的方式包含了View2和View3;

ViewGroup2是一個視圖組,以垂直的方式包含了View4、ViewGroup3和ViewGroup4.

ViewGroup4又以水平布局的方式包含了View5和View6。

根據以上的原則,當螢幕需要包含多個視圖時,必須組織在一個視圖組中。

由於視圖組本身也是一個視圖,因此視圖組還可以包含視圖組。

注意:在這裡面有一個主要的限制:在沒有視圖組的情況下,兩個以上的視圖(也包括視圖組)是不能並列的。


ViewGroup視圖組具有一系列的擴充者:AdapterView、 AbsoluteLayout、 FrameLayout、LinearLayout、 RelativeLayout、Adapterview<T extends android.widget.Adapter>。

在Android中,有一些預置的ViewGroup可以直接像View一樣使用(如WebView),還有一些ViewGroup本身沒有功能,只是提供螢幕上的各種布局(如AbsoluteLayout、RelativeLayout、FrameLayout等)


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.