我正在尝试创建自定义视图扩展RelativeLayout
。
避免通过编码添加视图。我用自定义relativelayout准备了一个xml。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android">
...
</RelativeLayout>
所以在我的自定义视图类中,我会通过
来膨胀xmlView.inflate(context, R.layout.custom_view, this);
我的问题是因为我的班级已经是RelativeLayout
,如果我这样做,我会有两级RelativeLayout
。当然,我可以通过删除xml中的外部RelativeLayout
来解决它。但如果我这样做,我无法在eclipse的xml编辑器中看到预览,这就是我希望自定义视图从xml中膨胀的原因。
即使我的自定义视图类扩展FrameLayout
,视图层次结构中也会有一层。如何解决这个问题?
答案 0 :(得分:2)
要减少不必要的额外图层,您需要使用合并标记。以下是如何使用它的一个很好的例子。
http://android-developers.blogspot.com/2009/03/android-layout-tricks-3-optimize-by.html
<merge xmlns:android="http://schemas.android.com/apk/res/android">
...
</merge>