Android布局优化 之 <merge>标签使用详解
2017-06-20 09:44
204 查看
1.为什么要使用<merge>
为了避免嵌套过多无用布局,嵌套的布局会让View树的高度变得越来越高,应该尽量减少布局的层级来优化布局。2.什么情况下使用<merge>
1.如果本打算用FrameLayout作为界面的根布局时,要用<merge>标签作为根节点,因为View树的ContentView本身就是个FrameLayout,如图:2.如果打算用RelateLayout或Linearlayout作为界面根布局时,界面中某些可复用的或逻辑独立的布局用<include>导入,<include>导入的布局可以考虑用<merge>作为根节点。现在有个问题:<merge>根节点内的控件怎么布局呢?
<merge>根节点内的控件布局取决于<include>这个布局的父布局是哪个布局:
merge_in_layout.xml
<?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"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_gravity="center_horizontal" android:text="第一个标签" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_gravity="center_horizontal" android:text="第二个标签" /> </merge>
父布局是RelateLayout时:
activity_merge_in_relate_layout.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.android.merge.MergeInRelateLayoutActivity"> <include layout="@layout/merge_in_layout"/> </RelativeLayout>
<merge>标签内的控件就按照相对布局排列,如图:
父布局是LinearLayout时:
activity_merge_in_linear_layout.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <include layout="@layout/merge_in_layout" /> </LinearLayout>
<merge>标签内的控件就按照线性布局排列,如图:
相关文章推荐
- Android布局优化 之 <merge>标签简单使用
- android布局优化之<merge>标签的使用
- Android中View绘制优化二一---- 使用<include />标签复用布局文件
- 性能优化之布局优化篇二 使用<merge>标签
- (转)Android中View绘制优化二一---- 使用<include />标签复用布局文件
- Android布局优化之<merge>与<ViewStub>标签使用
- android布局优化之<include>标签的使用
- Android中View绘制优化二一---- 使用<include />标签复用布局文件
- Android中View绘制优化二一---- 使用<include />标签复用布局文件
- Android中View绘制优化二一---- 使用<include />标签复用布局文件
- Android UI 优化 使用<include/>和 <merge />标签
- android 布局优化标签<include/>、<merge />、<ViewStub />
- Android UI 优化 使用<include/>和 <merge />标签
- Android UI 优化 使用<include/>和 <merge />标签
- Android UI 优化 使用<include/>和 <merge />标签
- android_应用开发之(使用<include>标签重用布局)
- Android UI 优化 使用<include/>和 <merge />标签
- android 布局优化——<include>的是使用
- android布局标签<include />使用
- Android UI 优化 使用<include/>和 <merge />标签