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 : 搜索框。
本文到此分享完毕,希望对大家有所帮助。