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

<include layout="@layout/test" android:id="@+id/test1" />
View test1View = findViewById(R.id.test1);
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. Jenkins高速上手

    http://www.cnblogs.com/puresoul/p/4813551.html .Jenkins下载安装 1.到官网下载jenkins.war包:http://jenkins-ci.or ...

  2. Android开发之应用程序更新实现

    近期给项目app做升级.对Android应用程序更新稍有研究,分享一下我的心得. 既然是更新,那么一定是要联网和下载的.所以联网和存储訪问权限时一定要有的: <!-- 权限申请 -->   ...

  3. 简单易懂的Dart》 - Dart语言中文简明教程

    转自:https://www.blackglory.me/straightforward-dart/ Dart是Google公司发布的网络编程语言,其诞生的目的是为了让广大C类OOP程序员们克服Jav ...

  4. ThreadLocal源码

    /* * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETA ...

  5. 哪种代理适合用于Web数据采集

    在Web数据采集中为了避免被服务器封锁而通过代理下载的情况很常见.但是,并非所有的代理都适合于Web数据采集.下面是鲲鹏数据的技术人员给出的说明. 根据HTTP代理的匿名性可以将其分为以下几种:   ...

  6. 给第三方dll加上强命名的方法[C#]

    在VS.NET 的命名行窗口下,输入如下的代码. 1 ,生成一个KeyFile sn -k keyPair.snk 2, 得到程序集的MSIL ildasm SomeAssembly.dll /out ...

  7. python代码 构建验证码

    1.python代码编写 (随机验证码): #coding: utf-8 import Image, ImageDraw, ImageFont, ImageFilter import string, ...

  8. 【进程线程与同步】5.4 System.Threading.Interlocked 为多个线程共享的变量提供原子操作

    using System; using System.Threading; internal class Program { private static long _counter = 1; pri ...

  9. Spring Boot(二):@SpringBootApplication注解理解

    @SpringBootApplication包含三个有用的注解,包括 @SpringBootConfiguration:看源码其实就是@Configuration,表示当前类是一个配置类,就像xml配 ...

  10. MVC页面跳转,路径重复的问题

    window.location.replace("../Home/xxx") 这是js路径跳转的示范,如果普通超链接也一样 前面加一个../