FrameLayout 中的 MergeRootFrame 是啥?
Posted
技术标签:
【中文标题】FrameLayout 中的 MergeRootFrame 是啥?【英文标题】:What is MergeRootFrame in FrameLayout?FrameLayout 中的 MergeRootFrame 是什么? 【发布时间】:2015-01-08 21:36:04 【问题描述】:在XML
的FrameLayout
中,我们有一个名为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 中的自定义视图上以编程方式设置边距值