资讯专栏INFORMATION COLUMN

Android提高显示布局文件的性能,使用include标签重用layouts

AlphaWallet / 1691人阅读

摘要:为了高效重用整个的,你可以使用和标签把其他嵌入当前。使用标签使用标签,可以在中添加可重用的组件。使用标签标签在你嵌套时取消了层级中冗余的。为了避免这种情况,你可以用元素来替代可重用的根节点。

虽然 Android 提供很多小的可重用的交互组件,你仍然可能需要重用复杂一点的组件,这也许会用到 Layout。为了高效重用整个的 Layout,你可以使用 标签把其他 Layout 嵌入当前 Layout。

重用 Layout 非常强大,它让你可以创建复杂的可重用 Layout。比如,一个 yes/no 按钮面板,或者带有文字的自定义进度条。这也意味着,任何在多个 Layout 中重复出现的元素可以被提取出来,被多带带管理,再添加到 Layout 中。所以,虽然可以添加一个自定义 View 来实现多带带的 UI 组件,你可以更简单的直接重用某个 Layout 文件。

创建可重用 Layout

如果你已经知道你需要重用的 Layout,就先创建一个新的 XML 文件并定义 Layout 。比如,以下是一个来自 G-Kenya codelab 的 Layout,定义了一个需要添加到每个 Activity 中的标题栏(titlebar.xml):

android:layout_width=”match_parent”
android:layout_height="wrap_content"
android:background="@color/titlebar_bg">


根节点 View 就是你想添加入的 Layout 类型。

使用标签

使用 标签,可以在 Layout 中添加可重用的组件。比如,这里有一个来自 G-Kenya codelab 的 Layout 需要包含上面的那个标题栏:

android:orientation="vertical"
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:background="@color/app_bg"
android:gravity="center_horizontal">





...


你也可以覆写被添加的 Layout 的所有 Layout 参数(任何 android:layout_* 属性),通过在 中声明他们来完成。比如:

     android:layout_width="match_parent"
     android:layout_height="match_parent"
     layout="@layout/title"/>

然而,如果你要在 中覆写某些属性,你必须先覆写 android:layout_height 和 android:layout_width。

使用标签

标签在你嵌套 Layout 时取消了 UI 层级中冗余的 ViewGroup 。比如,如果你有一个 Layout 是一个竖直方向的 LinearLayout,其中包含两个连续的 View 可以在别的 Layout 中重用,那么你会做一个 LinearLayout 来包含这两个 View ,以便重用。不过,当使用一个 LinearLayout 作为另一个 LinearLayout 的根节点时,这种嵌套 LinearLayout 的方式除了减慢你的 UI 性能外没有任何意义。

为了避免这种情况,你可以用 元素来替代可重用 Layout 的根节点。例如:

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/14081.html

相关文章

  • 性能优化1--UI优化

    摘要:若指定了其他的的这种属性,则和必须存在。否则其他的无法生效按需加载标签和标签很相似,都是使用属性来加载一个布局。提高了程序性能。其实这种说法是错误的。减少布局层数标签用来取消的层级的显示。1.使用系统为我们提供了几个抽象的标签 ①include:重用 include中layout属性指定一个外部布局文件,通过该方式则不需要把这个布局文件在该代码中重复的写一遍了。 若include指定了...

    tomorrowwu 评论0 收藏0
  • Andorid之页面布局优化

    摘要:二页面布局优化实操标签的使用操作是将需要重用的布局写在一个单独的文件中,再使用标签复用到其他布局中。文章大纲 一、为什么要进行页面布局优化二、页面布局优化实操三、项目源码下载四、参考文章 一、为什么要进行页面布局优化   在开发Android时,会遇到某些是通用的布局,我们常将一些通用的视图提取到一个单独的layout文件中,然后使用等标签在需要使用的其他layout布局文件中加载进来,比如...

    dack 评论0 收藏0
  • Android布局优化三剑客

    摘要:要解决这些痛点,我们可以请布局优化三剑客出码,它们分别是和三个标签,现在我们就来认识认识它们吧。此时如果想要再次显示布局,可以调用方法。通过监听的填充事件声明一个布尔值变量,默认值为,布局填充成功之后,在监听事件方法中将其置为。 前言 在编写Android布局时总会遇到这样或者那样的痛点,比如: 有些布局的在很多页面都用到了,而且样式都一样,每次用到都要复制粘贴一大段,有没有办法可以...

    alaege 评论0 收藏0
  • Android 布局巧用之include、merge、ViewStub

    摘要:原文链接相信大家经常听到这样的标签,官方也提到这三种布局可用于布局的优化。今天就介绍下这三种布局的使用,记录下来,便于后续中的使用。比如中页面里某个布局只需要在特定的情况下才显示,其余情况下可以不用加载显示,这时候可以使用。 原文链接:https://mp.weixin.qq.com/s/bTA2gztUzqvqER2rz56RRQ 相信大家经常听到include、merge、Vie...

    luoyibu 评论0 收藏0
  • Android 布局巧用之include、merge、ViewStub

    摘要:原文链接相信大家经常听到这样的标签,官方也提到这三种布局可用于布局的优化。今天就介绍下这三种布局的使用,记录下来,便于后续中的使用。比如中页面里某个布局只需要在特定的情况下才显示,其余情况下可以不用加载显示,这时候可以使用。 原文链接:https://mp.weixin.qq.com/s/bTA2gztUzqvqER2rz56RRQ 相信大家经常听到include、merge、ViewSt...

    sushi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<