android 关于include标签替换的问题

  • 今天在使用include标签时,由于一个布局在两个地方被用到,一个是直接作为一个布局整体引入,另一个是作为一个布局的一部分用include标签引入
  • 布局很简单,如下代码所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/live_shape_radius8"
    android:orientation="horizontal"
    android:layout_marginTop="@dimen/studentres_dimen_space_important2"
    android:layout_marginStart="@dimen/studentres_dimen_space_important2"
    android:layout_marginEnd="@dimen/studentres_dimen_space_important2"
    android:padding="12dp">
// ...
</LinearLayout>

作为整体引入时候,布局就是这样子,然后问题来了,当被其他布局作为一部分用include标签引入时,不需要margin
处理方法很简单,我们只需要在include标签里面写上这一段就可以了

<include
        layout="@layout/live_item_live_album_middle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="0dp" />

include标签里的属性会替换掉所引用的布局的根属性,更详细的规则可以去阅读源码布局解析里面对include的处理,在此作一个小记录

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,758评论 1 45
  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 3,331评论 1 41
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,148评论 1 32
  • 浏览器与服务器的基本概念 浏览器(安装在电脑里面的一个软件) 作用: ①将网页内容渲染呈现给用户查看。 ②让用户通...
    云还灬阅读 1,164评论 0 0