android开发中经常会碰到某一个布局的复用;直接拷贝粘贴并不是是有效的策略,这时候就能够借助<include>标签和<merge>标签来完毕。

官方文档:

http://developer.android.com/training/improving-layouts/reusing-layouts.html

1. <include>的使用方法

把要复用的Layout给提取出来,经常使用的比方TopBar。包括左側的返回键;中间的标题;右側的图片。能够把这个布局单独写出来。然后仅仅须要在使用的layout中include就能够了。

详细的使用方法样例见上面的官方文档。

一个值得注意的问题,假设一个布局在同一文件里被<include>多次的话,我们怎样引用到这个被<include>布局中的子view呢?解决方法例如以下:

http://stackoverflow.com/questions/1759099/how-to-specify-id-when-uses-include-in-layout-xml-file

  1. <include layout="@layout/test" android:id="@+id/test1" />
  1. View test1View = findViewById(R.id.test1);
  2. TextView test1TextView = (TextView) test1View.findViewById(R.id.text);

这样就能够区分出子view了。

2. <merge>的使用方法

简单来说,<merge>必须配合<include>来使用。比方我有两个button,放在一行中。然后会复用非常多次。

这时候把两个button提取出来写一个单独的layout。这个单独的layout最外层可能用的是<LinearLayou>包裹,然后被include之后,又include在一个<LinearLayout>里面,

这时候里面的那个LinearLayout事实上已经没什么用处了,并且会减少程序性能;这时候我们能够用<merge>标签来包裹那两个button,这时候被include之后,两个button会

直接被当成外层LinearLayout的子view进行布局安排。就省了一层。提高性能。

Android中的&lt;include&gt;标签和&lt;merge&gt;标签的更多相关文章

  1. Android中的路径记录

    Android中的路径记录 | RobinBlog 导航 导航 博客 分类 标签 友链 关于 搜索 Environment.getDataDirectory().getPath()=/dataEnvi ...

  2. Android中View绘制优化二一---- 使用<include />标签复用布局文件

    本文原创, 转载请注明出处:http://blog.csdn.net/qinjuning   译二:   使用<include />标签复用布局文件      翻译地址:http://de ...

  3. android中include标签使用详解

    android中include标签是为了便于控件的覆用的一个很好解决方案.   但是也有一些需要注意的地方,下面是本人在项目中碰到过的一个问题,做此记录,便于以后查看.   include标签用法. ...

  4. android中include

    android中include. include标签用法. 1.新建一个xml文件,命名 head.xml head.xml文件内容如下: <?xml version="1.0&quo ...

  5. Android 中的 WebView实现 Html5 标签网页加载

    自Android 4.4起,Android中的WebView开始基于Chromium(谷歌浏览器)支持浏览器的一系列功能,webkit解析网页各个节点,这个改变,使得WebView的性能大幅度提升,并 ...

  6. jsp中的包含 include标签和ejb的小知识点

    <!-- 用inclue指令导入安全登录防护代码(静态包含) --> <!-- 静态包含:把被包含代码拷到当前类中形成一个新的类,执行.包含与被包含代码是合写在同一个类(servic ...

  7. Android中TabHost中实现标签的滚动以及一些TabHost开发的奇怪问题

    最近在使用TabHost的时候遇到了一些奇怪的问题,在这里总结分享备忘一下. 首先说一点TabActivity将会被FragmentActivity所替代,但是本文中却是使用的TabActivity. ...

  8. Android中为TextView增加自定义的HTML标签

    Android中的TextView,本身就支持部分的Html格式标签.这其中包括常用的字体大小颜色设置,文本链接等.使用起来也比较方便,只需要使用Html类转换一下即可.比如: textView.se ...

  9. Android中android:layout_alignParentBottom标签不生效

    Android中一个奇怪的问题 Android 6.0中android:layout_alignParentBottom设置后不生效. 详见:https://code.google.com/p/and ...

随机推荐

  1. odoo8登录时,同帐号在其它客户端的连接自动退出

    odoo跟大多数B/S系统一样,同一个帐号可以在不同的电脑上登录,并且可以同时操作,这样子会带来一些权限上的漏洞.为了解决这个问题,经过分析odoo的session处理机制,开发了一个模块,安装此模块 ...

  2. 补知识:EntityFramework Core映射关系详解

    前言 本节我们回归下EF Core基础,来讲述EF Core中到底是如何映射的,废话少说,我们开始. One-Many Relationship(一对多关系) 首先我们从最简单的一对多关系说起,我们给 ...

  3. 翻翻git之---实现QQ空间点赞部分实现的自己定义控件 EasyLikeArea

    转载请注明出处:王亟亟的大牛之路 昨天在家里弄鱼的事没上班,也就没写东西.决定今天早上补一篇,正好看到了 Easy like area in the circle of friends or QQ q ...

  4. List与String的相互转换

    List转字符串,用逗号隔开 List<string> list = new List<string>(); list.Add("a"); list.Add ...

  5. c++ 头文件循环引用解法

    A.h #include "B.h" class A{ public: B* m_b; } B.h #include "A.h" class B{ public ...

  6. net 将WebService生成dll文件

    通过dll来引用webservice的方法 1.打开浏览器,然后写输入http://192.168.0.2/RentService.asmx?wsdl 2.然后选择浏览器->文件->另存为 ...

  7. c#各类型转byte[]或转回

    var tmp = BitConverter.ToInt32(new byte[]{...}); var bytes = BitConverter.GetBytes(tmp); 而String转byt ...

  8. excel weekday

    weekday(日期值)=星期几 星期天是1 星期六是7

  9. Vivado Logic Analyzer的使用(二)

    本文基于Vivado 2014.2,阅读前请参考前文http://blog.chinaaet.com/detail/37264 之前的设计都是出发后直接捕获数据.其实,与chipscope类似,可以设 ...

  10. jQuery - 获得内容和属性

    jQuery 拥有可操作 HTML 元素和属性的强大方法. jQuery DOM 操作 jQuery 中非常重要的部分,就是操作 DOM 的能力. jQuery 提供一系列与 DOM 相关的方法,这使 ...