FrameLayout 中的 MergeRootFrame 是啥?

Posted

技术标签:

【中文标题】FrameLayout 中的 MergeRootFrame 是啥?【英文标题】:What is MergeRootFrame in FrameLayout?FrameLayout 中的 MergeRootFrame 是什么? 【发布时间】:2015-01-08 21:36:04 【问题描述】:

XMLFrameLayout 中,我们有一个名为tools:ignore="MergeRootFrame" 的属性,MergeRootFrame 是什么?

【问题讨论】:

【参考方案1】:

这是给Lint tool的。您要求它忽略(即不显示警告)“MergeRootFrame”规则:

"MergeRootFrame": Checks whether a root <FrameLayout> can be replaced with a <merge> tag

【讨论】:

【参考方案2】:

<tools>属性基本上是作为一种快捷方式来存储信息,方便android平台满足需要的条件,无需进一步计算。 "tools:ignore" 是一个声明,它实际上是告诉 Lint 工具忽略“问题 ID” - "MergeRootFrame"

基于ipavl's 答案-<merge> 标记基本上用于删除不需要/降低 UI 性能的多层视图组。该语句基本上要求Lint 忽略警告,其中有多个冗余<framelayout>,这可以进一步优化我将其替换为<merge>

这里解释得很漂亮 - Warning: This <FrameLayout> can be replaced with a <merge> tag

底线:从技术上讲,您是在要求 Lint 忽略此类警告

链接:

http://tools.android.com/tech-docs/tools-attributes , https://developer.android.com/training/improving-layouts/reusing-layouts.html

【讨论】:

以上是关于FrameLayout 中的 MergeRootFrame 是啥?的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Android 中的 FrameLayout 上检测手势

FrameLayout 中的 'android:foreground' 和 'android:foregroundGravity' 如何影响其外观?

后堆栈中的配置更改片段现在正在共享 FrameLayout?

在 FrameLayout 中的自定义视图上以编程方式设置边距值

如何为 FrameLayout 中的多个视图制作浮动上下文菜单?

带圆角的 FrameLayout