Android布局是整个UI的基础,好的布局不但能够带来好看的效果,同样会带来效率上的提高。一般情况下我们需要尽可能的减少布局的层次,避免没完没了的一层一层的嵌套。Android SDK的tools目录下的hierarchyviewer可以帮助我们查看布局层次,提出一些修改意见,当然使用的时候你的程序得跑在模拟器上才行。
merge标签的使用:
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@drawable/welcome"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/green_btn_selector"/>
</merge>
一般情况下我们都能够将顶层是FrameLayout的布局替换为merge,但是merge标签的使用还是有一些限制:
1.只能作为一个布局的根节点。
2.使用LayoutInflater.inflate加载布局的时候需要使用View inflate(int resource, ViewGroup root, boolean attachToRoot)为其指定一个ViewGroup以及设置attachToRoot为true。
ViewStub的使用:
有时候我们需要动态的设置一个控件或者布局的显示。通常的做法是设置visibility属性,当满足某个条件时调用setVisibility(View.VISIBLE)显示出来。这样做逻辑上比较简单,但是布局初始化时就算控件没有显示出来,依然需要被实例化,ViewStub则可以做到只在调用inflate()方法的时候才被实例化。
<ViewStub
android:id="@+id/viewstub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout="@layout/view_show_layout"/>
ViewStub viewStub = (ViewStub) findViewById(R.id.viewstub);
View view = viewStub.inflate();
当调用viewStub.inflate()的时候,view_show_layout才被实例化并显示在UI界面上。
需要注意的是ViewStub一旦调用inflate()显示出布局以后就不能再通过它控制布局的隐藏了,如果你的布局需要不断地隐藏显示,那么ViewStub就不再合适了。
分享到:
相关推荐
论文研究-城市道路单行系统布局优化的双层规划模型和混合算法.pdf, 研究了基于出行者路径选择行为的单行道布局优化问题.借助于双层规划思想,以最小化研究区域内的总旅行...
【无人机布局优化】基于k-mean聚类的无人机布局优化matlab源码.md
数据赋能的门店布局优化方案.pdf
论文研究-技术效率、资本规模对产业空间布局优化的影响.pdf, 本文以区域产业项目迁移为背景, 融合产业资本规模异质性, 建立区域产业空间布局调整优化模型, 利用离散随机...
Android ListView多种布局优化demo,使用了两种优化手段,包括convertView,ViewHolder,对应的我的博客地址是: http://blog.csdn.net/u012320459/article/details/47667869
改进型蚁群算法融合混沌优化的pSPIEL算法的无线传感器布局优化.pdf
【布局优化】基于遗传算法求解公交排班问题matlab源码.md
基于复合光线追踪的贝叶斯-拟梯度下降镜场布局优化项目源码+资料说明.zip 基于复合光线追踪的贝叶斯-拟梯度下降镜场布局优化项目源码+资料说明.zip基于复合光线追踪的贝叶斯-拟梯度下降镜场布局优化项目源码+资料...
多芯片PCB板热布局优化试验研究及数值模拟.pdf
Android 布局优化,(含 include、Viewstub、merge的用法)
数字智库支撑产业布局优化和国企转型的思考.docx
钢铁行业周报:徐州颁布《钢铁行业布局优化和转型方案》.pdf
- 基于GA的车间设施布局优化 - 各设施长宽、功能关系、物流量、搬运成本数据均在Excel中 - 待优化的两个变量分别存放设施的横纵坐标、横纵摆放抉择 - 设置了适应度函数和约束条件 - 完整matlab代码,main直接运行 ...
非均质国家条件下的全球供应链布局优化问题研究,肖伟,曹子鹏,以全球供应链为研究对象,讨论在有非均质国家存在的条件下优化布局的方法。区别于以往将国家视作均质化对象的研究,将国家视为多
matlab_基于LICHTENBERG算法MOSSPOLA的多目标传感器选择和布局优化_基于特征选择和MOLA的多目标SPO
基于互联网背景下的商业网点布局优化策略研究——以漳州市城市商业网点专项规划为例.pdf
从图的拓扑特征角度出发, 提出了一种解决交通网络线圈布局优化问题的支撑树算法。新方法首先通过网络超级变换使得流量守恒条件在变换后网络的所有节点上均成立, 再通过分析一般支撑树的拓扑特征, 从而得到一种解决...
同时, 基于改进的IOA进行优化求解, 克服了传统单式线网优化层次化不显著的缺陷, 提高了布局优化过程求解效率。算例仿真结果表明:综合公交系统需求多样性在客观上决定综合公交系统线网的多元性和层次性, 线网布局...
论文研究-具有GIS特征的村庄布局优化DSS的系统集成.pdf, 村庄布局优化决策支持系统是用于村庄合并实现整体布局优化的专用决策支持系统,具有鲜明的地理信息特征,本文...
车间布局优化是将加工设备、物料输送设备、工作单元和通道走廊等布置物体合理地放置在一个有限的生产车间内的过程。车间布局优化模型是一个含有较为复杂约束的非线性连续优化模型,可以使用遗传算法进行优化。