国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

安卓開發之創建可,復用的UI組件

2019-11-02 15:03:28
字體:
來源:轉載
供稿:網友

 Android平臺提供了廣泛的UI可視組件---widget,把這些小的可視的構件組合到一起,就可以給用戶提供復雜而有用的界面。但是,應用程序經常需要一些高級可視組件,要滿足這樣的需求,并要達到高效的目的,可以把一些標準的widget組合成一個新的可復用的組件。

  例如,包含一個進度條和一個取消按鈕的操作進度表示組件;包含兩個按鈕的面板(取消和確認操作);帶有一個圖標、標題和說明的面板等等。通過編寫定制的View類能夠很容易的創建UI組件,但是使用XML會更加容易。

  在Android XML布局文件中,每個標簽都對應于一個實際的類實例(這個類始終是Vi

格瓦拉電影網[www.aikan.tv/special/gewaladianyingwang/]
ew類的子類),Android的UI工具集中還有三個特殊的標簽,它們沒有對應的View實例:<requestFocus />、<merge />和<include />。本文展示如何使用<include />標簽來創建純粹的XML可視組件。有關如何使用<merge />的信息,請看“合并布局”的文章,它跟<include />

  組合起來使用,功能會更強大。

  顧名思義,<include />標簽是要在當前布局中包含另一個XML布局。這個標簽的使用就像下例顯示的那樣簡單,例子中直接引用了Android的Home應用程序的源代碼:

  <com.android.launcher.Workspace

  android:id="@+id/workspace"

  android:layout_width="fill_parent"

  android:layout_height="fill_parent"

  launcher:defaultScreen="1">

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

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

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

  </com.android.launcher.Workspace>

  在<include />中只有layout屬性是必須的。這個屬性的值不帶有android命名空間的前綴,它是希望要包含的布局文件的引用。在例子中,相同的布局被包含了三次。這個標簽還能夠覆蓋一些被包含布局的屬性。上例中的android:id指定了被包含布局的根View的id;如果定義了一個新的id,那么被包含布局的這個id也會被覆蓋。類似的,可以覆蓋所有的布局參數。就意味著任何android:layout_*屬性都可以在<include />標簽中使用。以下示例中,相同的布局被包含了兩次,但只有第一次覆蓋了布局屬性:

  <!-- override the layout height and width -->

  <includelayout="@layout/image_holder"

  android:layout_height="fill_parent"

  android:layout_width="fill_parent"/>

  <!-- do not override layout dimensions; inherit them from image_holder -->

  <includelayout="@layout/image_holder"/>

  警告:如果要覆蓋布局的尺寸,就必須同時覆蓋android:layout_height和android:layout_width屬性---不能只覆蓋高度或只覆蓋寬度。如果只覆蓋其中一個,不會有任何效果。沒有覆蓋的屬性,依然會繼承源布局中的屬性設置。

  在需要根據設備的配置來定制UI部分時,這個標記時特別有用的。例如,Activity的主布局可以被放到layout/目錄中,然后包含保存在layout-land/和layout-port/目錄中的另外布局,這樣就可以在橫屏和縱屏的布局中共享大多數的UI元素了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东阿县| 大安市| 大埔区| 广安市| 阿拉尔市| 深圳市| 沅江市| 从江县| 淮滨县| 攀枝花市| 屏东县| 石门县| 浮梁县| 连城县| 泸州市| 北辰区| 达尔| 灌南县| 阿图什市| 汨罗市| 山西省| 孝感市| 汽车| 沁阳市| 景谷| 察哈| 康马县| 甘肃省| 镇平县| 连云港市| 江油市| 东阳市| 黄骅市| 嘉峪关市| 府谷县| 德惠市| 金溪县| 建湖县| 五大连池市| 临城县| 库伦旗|