包含/合並標簽通常用於布局優化。include的含義類似於C代碼中的含義,即指定的布局片段直接包含在當前布局文件中。Include適用於具有相同xml片段的多個布局文件,比如相同的標題欄、相同的廣告欄、相同的進度條等等。
2.視圖存根
在壹個頁面上根據不同的條件顯示不同的控件時,我們經常會設置控件的可視化屬性,比如調用指定控件的setVisibility方法,設置視圖。需要顯示時可見,並設置視圖。如果需要隱藏的話就沒了。但是,gone的控件只是不可見,在實際UI渲染的時候還是會加載的。如果不提前加載,在條件滿足時再加載,那就得用標簽ViewStub。
3.風格風格
樣式是在res/values/styles.xml中定義的,適用於以下情況:
1.布局文件中有很多樣式相同的控件,比如統壹的TextView,白底黑字,中等字體,居中顯示。這時,我們可以在styles.xml中定義壹個文本樣式,然後在每個文本框中聲明它的樣式屬性。壹個好處是減小了布局文件的大小,另壹個好處是方便以後修改樣式。?
2.有些控件在代碼中聲明時需要手動指定樣式。例如,自定義對話框需要在構造函數中指定樣式。再比如PopupWindow在設置伸縮動畫方法setAnimationStyle時需要指定動畫樣式。?
3.定義頁面的主題樣式,然後將其應用到活動頁面。在代碼中設置主題可以通過“setTheme(R.style)”來完成,在布局中設置可以在AndroidManifest.xml的活動節點下添加主題屬性,比如“Android: theme =" @ style/”。
4.主題
主題是壹種特殊的風格。主題專用於頁面,而樣式通常應用於控件。主題定義壹般放在themes.xml中,樣式定義壹般放在styles.xml中?
Android定義了壹些系統主題。要獲得完整的定義,請參考sdk附帶的themes.xml。常用的描述如下:
主題。NoTitleBar:不顯示標題欄,也就是隱藏ActionBar?
主題。光線:白色背景?
主題。赫蘿:淺灰色背景?
主題。黑色:黑色背景?
主題。壁紙:壁紙
主題。半透明:透明背景?
主題。對話:對話?
主題。面板:平板?
主題。InputMethod:輸入法?
主題。搜索欄:搜索框