android include标签使用
2016-05-10 16:39
316 查看
如果在一个app中有大量的相似的布局条目时,可以考虑自定义组合控件,当然也可以使用include标签。本人认为在一定程度上认为include标签比自定义组合控件要简单。自定义组合控件不仅要继承控件或者继承布局,而且要重写一些涉及到的方法,有时候还要自定义属性文件,必要的时候还要自定义方法,达到java文件中控制子控件的属性。如果控制不好,自定义组件就会出现莫名其妙的错误,比如自定义组合控件实例化失败,属性值加载失败或找不到属性文件。
所以,一般情况下,如果不是特别复杂的布局条目时,本人推荐使用include标签。
下面是include具体使用方法:
首先,必须重建一个标题栏布局文件,比如R.layout.title
然后使用<include layout=布局文件名/>
如果想主布局中控制标题栏布局,就必须指定android:layout_width和android:layout_height。如果不指定这俩个属性的话,标题栏布局就默认在某一个位置,而不允许你在布局文件或在.xml中控制它的位置及大小。
这样,就可以用findViewById(int id)来找到标题栏布局中的子控件,上面所描述的只是添加一个标题栏布局
如果想在一个布局中添加多个相似的标题栏布局的话,也是使用include标签。但是,多个标签找不到子控件并控制其属性。所以为多标签的标题栏布局添加id标示,然后在java文件中用代码控制其属性。
具体格式:findViewById(id(布局标题栏)),找到该标签并为标签添加引用,将findViewById(id(布局标题栏))获得的布局转型,将引用指向找到的标签。最后,就可以使用
引用.findViewById(int id)查询标签内的子控件。当然也可以通过布局参数来控制标签的位置及大小。
注意:如果为标签指定具体大小值,系统会根据标签的框架来布置子控件。如果子控件太大而超出了标签的边框,系统不会显示超出标签框架之外的部分,这样会影响布局。所以布局标签应该首先考虑标签的框架能不能包裹子控件。当然,将标签设置成包裹内容wrap_content是个不错的选择,系统会根据标签内的子控件的大小来调整标签框架的大小,以适应子控件,使得子空间能够完全显示出来,达到预想的效果。
所以,一般情况下,如果不是特别复杂的布局条目时,本人推荐使用include标签。
下面是include具体使用方法:
首先,必须重建一个标题栏布局文件,比如R.layout.title
然后使用<include layout=布局文件名/>
如果想主布局中控制标题栏布局,就必须指定android:layout_width和android:layout_height。如果不指定这俩个属性的话,标题栏布局就默认在某一个位置,而不允许你在布局文件或在.xml中控制它的位置及大小。
这样,就可以用findViewById(int id)来找到标题栏布局中的子控件,上面所描述的只是添加一个标题栏布局
如果想在一个布局中添加多个相似的标题栏布局的话,也是使用include标签。但是,多个标签找不到子控件并控制其属性。所以为多标签的标题栏布局添加id标示,然后在java文件中用代码控制其属性。
具体格式:findViewById(id(布局标题栏)),找到该标签并为标签添加引用,将findViewById(id(布局标题栏))获得的布局转型,将引用指向找到的标签。最后,就可以使用
引用.findViewById(int id)查询标签内的子控件。当然也可以通过布局参数来控制标签的位置及大小。
注意:如果为标签指定具体大小值,系统会根据标签的框架来布置子控件。如果子控件太大而超出了标签的边框,系统不会显示超出标签框架之外的部分,这样会影响布局。所以布局标签应该首先考虑标签的框架能不能包裹子控件。当然,将标签设置成包裹内容wrap_content是个不错的选择,系统会根据标签内的子控件的大小来调整标签框架的大小,以适应子控件,使得子空间能够完全显示出来,达到预想的效果。
相关文章推荐
- Android 反调试反内存dump总结
- android JNI的.so库调用
- Android总结 - BroadcastReceiver
- android JNI的.so库调用
- android JNI的.so库调用
- Android LayoutAnimation使用
- Android 屏幕分辨率 计算单位
- Android4.4打开系统相册返回Null问题
- Android 手机自动化测试工具有哪几种?
- Android之使用Pull解析Xml数据
- Android Menu 之 optionsMenu 详解
- android service 本地 远程 总结
- Android Studio系列教程六--Gradle多渠道打包
- Android 与web的相互调用
- Android高效加载大图、多图解决方案,有效避免程序OOM
- 史上最详细的Android Studio系列教程二--基本设置与运行
- Android 软键盘自动弹出和关闭
- Android手机启动流程探究
- 史上最详细的Android Studio系列教程三--快捷键
- Android资源目录---assets与res/raw区别