我基于LinearLayout创建自定义视图。类扩展了LinearLayout类,我在布局中有:
<?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
,但应用有效。
怎么了?
答案 0 :(得分:4)
我认为这只是Android工作室的一个小故障。即使是官方文档merge
也是layout
的直接孩子:https://developer.android.com/topic/libraries/data-binding/index.html
编辑:我在那里提交了一个错误:https://code.google.com/p/android/issues/detail?id=286406&thanks=286406&ts=1490873944
Edit2:Bug已修复\ o /在AS 3.5 Canary 12
中答案 1 :(得分:-2)
实际上你根本不需要合并,因为你在root中为databisnig做了布局。 &LT;合并&GT;这里的标签是多余的!
使用&lt; merge&gt;代码
标记有助于消除视图中的冗余视图组 在另一个
中包含一个布局时的层次结构
合并时不会绘制合并布局,系统会在绘图时忽略它们。
要批准我通过Android设备监视器中的层次结构视图跟踪布局以进行布局..它不存在,这意味着它执行与合并标记相同的工作。你可以自己检查一下!
希望这可能会有所帮助......
答案 2 :(得分:-3)
将<merge>
设为文件中的第一个标记。