博客
关于我
Android 布局优化之<include/><merge/>和 <ViewStub>
阅读量:622 次
发布时间:2019-03-13

本文共 1956 字,大约阅读时间需要 6 分钟。

Excellent, let's optimize the provided content according to your requirements.

By marking up a layout for reuse in Android development, developers often need to reuse complex components like title bars. This can be efficiently achieved by creating a reusable layout file called include_toolbar.xml, which contains a Toolbar widget with a TextView inside it.

Here’s an example of the include_toolbar.xml layout file:

Now, in your activity_main, you can include this toolbar layout using the <include> tag:

When using the <include> tag in your layout, here are some important points to keep in mind:

  • The <include> tag’s id attribute will override the id attribute of the included layout’s root node.
  • The <include> tag’s layout_* attributes will override the included layout’s root node’s layout_* attributes.
  • In ConstraintLayout, using the <include> tag requires the included view to have layout_width and layout_height attributes defined.
  • To reduce the layout hierarchy levels, you can use the <merge> tag when including views. This helps in avoiding unnecessary nested layouts, which can affect performance:

    When this view is included in another layout, the <merge> tag will be ignored, and the buttons will be placed directly in the布局.

    If you need to load a layout only when it’s actually required, you can use the <ViewStub> tag. This allows you to defer the loading of these layouts until they are needed:

    The ViewStub layout can be inflated when needed using either:

    val errorView = findViewById
    (R.id.view_stub).inflate()

    It’s important to note that inflate() can only be called once. After the first call, the ViewStub will no longer be part of the view hierarchy, and its original id will only be valid until the layout is inflated.

    By following these principles, you can efficiently manage layout reuse and optimize your Android development workflow.

    转载地址:http://meoaz.baihongyu.com/

    你可能感兴趣的文章
    mysql基础教程四 --连接查询
    查看>>
    MySQL基础知识:创建MySQL数据库和表
    查看>>
    MySQL基础系列—SQL分类之一
    查看>>
    MySQL处理千万级数据分页查询的优化方案
    查看>>
    mysql备份
    查看>>
    mysql备份与恢复
    查看>>
    mysql备份工具xtrabackup
    查看>>
    mysql备份恢复出错_尝试备份/恢复mysql数据库时出错
    查看>>
    mysql复制内容到一张新表
    查看>>
    mysql复制表结构和数据
    查看>>
    mysql复杂查询,优质题目
    查看>>
    MySQL外键约束
    查看>>
    MySQL多表关联on和where速度对比实测谁更快
    查看>>
    MySQL多表左右连接查询
    查看>>
    mysql大批量删除(修改)The total number of locks exceeds the lock table size 错误的解决办法
    查看>>
    mysql如何做到存在就更新不存就插入_MySQL 索引及优化实战(二)
    查看>>
    mysql如何删除数据表,被关联的数据表如何删除呢
    查看>>
    MySQL如何实现ACID ?
    查看>>
    mysql如何记录数据库响应时间
    查看>>
    MySQL子查询
    查看>>