Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android布局技巧之創建可重用的UI組件

Android布局技巧之創建可重用的UI組件

編輯:關於Android編程

Android平台提供了大量的UI構件,你可以將這些小的視覺塊(構件)搭建在一起,呈現給用戶復雜且有用的畫面。然而,應用程序有時需要一些高級的視覺組件。為了滿足這一需求,並且能高效的實現,你可以把多個標准的構件結合起來成為一個單獨的、可重用的組件。

例如,你可以創建一個可重用的組件包含一個進度條和一個取消按鈕,一個Panel包含兩個按鈕(確定和取消動作),一個Panel包含圖標、標題和描述等等。簡單的,你可以通過書寫一個自定義的View來創建一個UI組件,但更簡單的方式是僅使用XML來實現。

在Android XML布局文件裡,一般,每個標簽都對應一個真實的類實例(這些類一般都是View的子類)。UI工具包還允許你使用三個特殊的標簽,它們不對應具體的View實例:<requestFocus />、<merge />、<include />。這篇文章將描述如何使用<include />來創建一個單純的XML視覺組件。了解更多關於如何使用<merge />的資料,請參看之後更新的文章Android布局技巧之合並布局,尤其是它與<include />結合起來使用體現出來的強大威力。

<include />元素的作用如同它的名字一樣;它用於包含其它的XML布局。使用這個標簽如下面的例子所示:

<com.android.launcher.Workspace

 android:id="@+id/workspace"

 android:layout_width="fill_parent"

 android:layout_height="fill_parent"



 launcher:defaultScreen="1">



 <include android:id="@+id/cell1" layout="@layout/workspace_screen" />

 <include android:id="@+id/cell2" layout="@layout/workspace_screen" />

 <include android:id="@+id/cell3" layout="@layout/workspace_screen" />



</com.android.launcher.Workspace>

在<include />中,只需要layout特性。這個特性,不帶android命名空間前綴,它表示你想包含的布局的引用。在這個例子中,相同的布局被包含了三次。這個標簽還允許你重寫被包含布局的一些特性。上面的例子顯示了你可以使用android:id來指定被包含布局中根View的id;它還可以覆蓋已經定義的布局id。相似的,你可以重寫所有的布局參數。這意味著任何android:layout_*的特性都可以在<include />中使用。下面是例子:

<include android:layout_width="fill_parent" layout="@layout/image_holder" />

<include android:layout_width="256dip" layout="@layout/image_holder" />

這個標簽,在依據設備設置定制UI時表現得尤為有用。舉個例子,Activity的主要布局放置在layout/文件夾下,其它布局放置在layout-land/和layout-port/下。這樣,在垂直和水平方向時你可以共享大多數的UI布局。

include標簽可以實現在一個layout中引用另一個layout的布局,這通常適合於界面布局復雜、不同界面有共用布局的APP中,比如一個APP的頂部布局、側邊欄布局、底部Tab欄布局、ListView和GridView每一項的布局等,將這些同一個APP中有多個界面用到的布局抽取出來再通過include標簽引用,既可以降低layout的復雜度,又可以做到布局重用(布局有改動時只需要修改一個地方就可以了)。

include標簽的使用方法:
include標簽的使用很簡單,只需要在布局文件中需要引用其它布局的地方,使用layout="@layout/child_layout"就可以了:
<include layout="@layout/titlebar" />

關於include標簽的相關內容在今後的文章中會為大家進行分享,以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved