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


相关推荐

  • 小程序自定义tabbar的两种方式

    小程序自定义tabbar的两种方式小程序自定义tabbar先做一下效果展示吧本案例是按照官网来做的app.js代码:“tabBar”:{“custom”:true,“color”:“#000000”,“selectedColor”:“#000000”,“backgroundColor”:“#000000”,“borderStyle”:“white”,“list”:[{“pagePath”:…

    2022年10月25日
    0
  • lombok插件安装 idea 搜不到_idea本地安装lombok插件失败

    lombok插件安装 idea 搜不到_idea本地安装lombok插件失败注:此处我是针对2019.3版本,其他版本可能不一样方法一:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O3dR50Jw-1594555693053)(https://raw.githubusercontent.com/bakabakabeng/PicGoStore/master/img/20200712194124.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K9ZCeMfs-1594555693079)(https://

    2022年9月7日
    0
  • IntelliJ IDEA中怎么全局搜索替换(整个项目)(Eclipse)

    IntelliJ IDEA中怎么全局搜索替换(整个项目)(Eclipse)IntelliJIDEA使用教程(总目录篇)我们用Eclipse或者IntelliJIDEA编程,有时候需要将整个项目的某个字符串替换成其他的。全局搜索我会,我还给调成ctrl+g了呢,但是遇到要全局(整个项目)替换字符串。哎哟,我有点蒙了。这不换了编辑器吗。我用的是eclipse的keymap而且电脑又不是mac。那么问题来啦。怎么找快捷键呢。如下;额,顺便说下…

    2025年6月9日
    1
  • tqdm模块[通俗易懂]

    tqdm模块[通俗易懂]tqdm是Python进度条库。tqdm库下面有2个类我们经常使用:1.2.可以在Python长循环中添加一个进度提示信息用法:tqdm(iterator)trange(i)是

    2022年8月6日
    5
  • kafka删除topic中的数据_kafka删除数据

    kafka删除topic中的数据_kafka删除数据删除topic里面的数据这里没有单独的清空数据的命令,这里要达到清空数据的目的只需要以下步骤:一、如果当前topic没有使用过即没有传输过信息:可以彻底删除。二、如果当前topic有使用过即有过传输过信息:并没有真正删除topic只是把这个topic标记为删除(markedfordeletion)。想要彻底删除topic数据要经过下面两个步骤:①:删除topic,重新用创建to…

    2022年10月16日
    0
  • 华为笔记本键盘锁住了(笔记本电脑键盘怎么亮起来)

    展开全部1、取消键:(退出e69da5e887aa62616964757a686964616f31333366306434键Esc)意思是逃脱、出口。主要作用是退出某个程序。如:在玩游戏时想退出来,按一下这个键即可。2、功能键:(F1——F12)在不同软件中,可起到不同的相应功用,也可以配合其它的键共同起作用。如:F1是帮助功能。3、切换键:(表格键Tab)意思是表格。主要是在文字处理软件里(如W…

    2022年4月14日
    296

发表回复

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

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