我创建基于LinearLayout的自定义视图。类继承了LinearLayout类,在layout中我有:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<merge>
some staff here
</merge>
</layout>
Android Studio显示警告Element merge is not allowed here
,但应用程序工作。
怎么了?
我相信这只是Android studio的一个小故障。甚至官方文档也有merge
作为layout
的直接子:https://developer.android.com/topic/libraries/data-binding/index.html
编辑:我在那里提交了一个bug: https://code.google.com/p/android/issues/detail?id=286406&thanks=286406&ts=1490873944
编辑2:错误是修复o/在as3.5金丝雀12
实际上你不需要合并在这里,因为你有布局在根数据库。& lt; merge>这里的标签是多余的!
使用<标记>标记>
标签有助于消除视图中冗余的视图组在
中包含一个布局时的层次结构
来源:Android documentation
合并布局不会被绘制,并且在绘制过程中系统会忽略它们。
批准,我做了跟踪布局的层次视图在Android设备监视器布局..它不存在,这意味着它做的工作和merge标签一样。你可以自己检查一下!
将<merge>
作为文件中的第一个标签