Android之include避免代码重复

在做布局时,经常有些部分是重复的,比如title或者foot的地方,最简单的办法当然是直接复制过去,这里介绍include的用法,有过c++或者c经验的同学一看就明白了,就是把另一个布局包含进来.先看下实现的效果:里面上下各有两个文字布局,是用include包含进去的,直接看代码activity_main.xml:

大家好,又见面了,我是全栈君。

在做布局时,经常有些部分是重复的,比如title或者foot的地方,最简单的办法当然是直接复制过去,

这里介绍include的用法,有过c++或者c经验的同学一看就明白了,就是把另一个布局包含进来.

先看下实现的效果:

Android之include避免代码重复

里面上下各有两个文字布局,是用include包含进去的,直接看代码

activity_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <include
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginTop="30dp"
        layout="@layout/header" />

    <ViewStub
        android:id="@+id/pic_stub"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:inflatedId="@+id/pic_view_id_after_inflate"
        android:layout="@layout/pic_view" />


    <include layout="@layout/footer" />

</RelativeLayout>

很清楚的两个include,至于中间的viewstub,在下一篇博客里讲解

地址:http://blog.csdn.net/jason0539/article/details/26132267 

 

代码里我用了两个include,

第一个比较复杂,设置了属性,让它在布局顶部

第二个比较简洁,属性都没有设置,但是位置却很正确,在布局的底部,

这样的目的是为了展示include属性的两种设置方式,可以在include标签里设置,也可以在所要引用的布局里面设置

所包含的两个布局文件如下:

header.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:gravity="center_horizontal"
    android:text="Header Without Properties!" >

</TextView>

在这里面的宽度高度都设置为0了,目的就是要在布局中通过include标签设置它的布局

 

footer.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="30dp"
    android:gravity="center_horizontal"
    android:text="With Properties!" />

这个的属性设置的很完整,所以在布局中include标签里就什么都没设置,直接引用就行了,

 

两种方法效果相同,看个人喜好来用.

作者:jason0539

微博:http://weibo.com/2553717707

博客:http://blog.csdn.net/jason0539(转载请说明出处)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121343.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm是下载社区版本的还是专业版本_pycharm免费版和专业版

    pycharm是下载社区版本的还是专业版本_pycharm免费版和专业版好多初用pycharm的朋友,不知道PyCharm专业版和PyCharm社区版的区别,总体而说pycharmpro2019mac是一种PythonIDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。…

    2022年8月29日
    4
  • php接收二进制流(图片)生成图片文件文件

    php接收二进制流(图片)生成图片文件文件

    2022年2月12日
    54
  • js 取模 取余

    var i=10;var j=3;var mo=Math.floor(i/j);var yu=i%j;

    2022年4月9日
    43
  • .bat批处理基础

    .bat批处理基础批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为bat。目前比较常见的批

    2022年7月3日
    27
  • linux smartctl 命令,Linux smartctl命令

    linux smartctl 命令,Linux smartctl命令硬盘的SMART是S.M.A.R.T.的缩写,全称是“Self-Monitoring,AnalysisandReportingTechnology”,中文意思是“自我监测分析与报告技术”,它可以对硬盘的温度、内部电路、盘片表面介质材料等进行监测,力求及时分析出硬盘可能发出的问题,并发出警告,从而保护数据不受损失。在Linux上使用smartctl命令查看硬盘的SMART信息。安装工具:yu…

    2022年6月29日
    31
  • nginx指令详解_考试说明全解

    nginx指令详解_考试说明全解常见的命令有:nginx-sreopen#重启Nginxnginx-sreload#重新加载Nginx配置文件,然后以优雅的方式重启Nginxnginx-sstop#强制停止Nginx服务nginx-squit#优雅地停止Nginx服务(即处理完所有请求后再停止服务)nginx-t#检测配置文件是否有语法错误,然后退出nginx-?,-h#打开帮助信息nginx-v#显示版本信息并退出nginx-V#显示版本和配置选项信息,然后退出

    2025年5月25日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号