1、1. include/merge布局優化中常常用到include/merge標簽,include的含義類似C代碼中的include,意思是直接把指定布局片段包含進當前的布局文件。
(資料圖片僅供參考)
2、include適用于多個布局文件中存在相同的xml片段,比如說相同的標題欄、相同的廣告欄、相同的進度欄等等。
3、2. ViewStub在一個頁面上根據不同條件展示不同的控件,我們常常會設置控件的可視屬性,比如調用指定控件的setVisibility方法,若需展示則設置View.VISIBLE,若需隱藏則設置View.GONE。
4、不過gone的控件只是看不到罷了,實際UI渲染時還是會被加載。
5、要想事先不加載,在條件符合時才加載,就得用到標簽ViewStub。
6、3. style樣式樣式在res/values/styles.xml中定義,它適用于下面幾種情況:布局文件中存在多個具有相同風格的控件,比如說統一的文本框TextView,都是白底黑字、中號字體、居中顯示,這時我們便可在styles.xml定義一種文本樣式,然后在各文本框處聲明它的style屬性。
7、好處一個是減少了布局文件的大小,另一個是方便以后統一修改風格。
8、2、某些控件在代碼中聲明時需要手工指定style,例如自定義對話框需要在構造函數中指定樣式;另一個例子是彈窗PopupWindow在設置伸縮動畫方法setAnimationStyle時需要指定動畫樣式。
9、3、定義頁面的主題風格,然后應用到Activity頁面。
10、代碼中設置主題可通過“setTheme(***.style.)”完成,布局中設置可在AndroidManifest.xml的activity節點下添加theme屬性,如“android:theme=”@style/“”。
11、4. Theme主題主題是一種特殊的樣式,主題專用于頁面,而樣式一般運用于控件。
12、主題定義一般放在themes.xml,樣式定義一般放在styles.xml。
13、Android定義了一些系統主題,完整定義的參見sdk自帶的themes.xml,常用的幾種說明如下:Theme.NoTitleBar : 不顯示標題欄,即隱藏ActionBarTheme.Light : 白色背景Theme.Holo : 淺灰背景***.Black : 黑色背景Theme.Wallpaper : 壁紙Theme.Translucent : 透明背景Theme.Dialog : 對話框Theme.Panel : 平板Theme.InputMethod : 輸入法Theme.SearchBar : 搜索框。
本文到此分享完畢,希望對大家有所幫助。