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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2020年保密在线考试答案_2022保密教育线上培训考试30题

    2020年保密在线考试答案_2022保密教育线上培训考试30题2022年度保密教育线上培训考试参考答案选择题根据工作需要,指定定密责任人可以是本机关、本单位内设机构负责人;根据刑法第398条规定,国家机关工作人员违反保守国家秘密法的规定,故意或者过失泄露国家秘密,情节严重的,处三年以下有期徒刑或者拘役;机密级国家秘密是重要的国家秘密,泄露会使国家安全和利益遭受严重的损害;涉密人员使用普通手机,正确的做法是:不在通信中涉及国家秘密、不在手机上存储、处理、传输涉及国家秘密的信息、不在涉密公务活动中开启和使用位置服务功能;泄露军事设施秘密,或者为境外的机构、组

    2022年9月22日
    2
  • 面试题—5种单例模式写法以及单线程和多线程下的区别

    面试题—5种单例模式写法以及单线程和多线程下的区别闲来无事看之前的博客,发现单例模式只会写2中。所以再重新开一篇博客,将目前自己所能理解的几种单例模式全部总结下。______________________________________________________________________________________________________________________1、懒汉式(最基本的) 单线程版写单例模式(饿汉式)的步骤: 1):必须在该类中,自己先创建出一个对象。 2):私有化自身的…

    2022年6月13日
    28
  • 《如何搭建小微企业风控模型》第三节 风控模型概览

    《如何搭建小微企业风控模型》第三节 风控模型概览《如何搭建小微企业风控模型》第三节风控模型概览

    2022年5月18日
    37
  • pycharm2021最新激活码_通用破解码

    pycharm2021最新激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    47
  • kfold参数_kinfolk中文版

    kfold参数_kinfolk中文版Kfold是sklearn中的k折交叉验证的工具包fromsklearn.model_selectionimportKFold入参sklearn.model_selection.KFold(n_splits=3,shuffle=False,random_state=None)n_splits:k折交叉验证shuffle:是否每次生成数据集时进行洗牌random_state:仅当洗牌时有用,random_state数值相同时,生成的数据集一致。方法print(kf.get_n_sp

    2022年9月16日
    4
  • snmp的trap_web scraping

    snmp的trap_web scrapingSNMP(SimpleNetworkManagementProtocol)trap是一种很有用,但是也容易让人难以理解的协议。虽然名字叫做简单网络管理协议,但实际上并不是字面上的意思,尤其是看到.1.3.6.1.2.1.1.1.0这样一串串诡异的数字时候,就会有点让人崩溃。不管怎么说,现在所有的网络设备的都需要支持SNMP。而且现在还有很多的开源的网络管理系统,所以就有利于我们来学习和

    2022年8月20日
    8

发表回复

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

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