通过膨胀xml自定义ViewGroup

时间:2013-09-24 00:30:04

标签: android android-custom-view

我正在尝试创建自定义视图扩展RelativeLayout。 避免通过编码添加视图。我用自定义relativelayout准备了一个xml。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android">
   ...
</RelativeLayout>

所以在我的自定义视图类中,我会通过

来膨胀xml
View.inflate(context, R.layout.custom_view, this);

我的问题是因为我的班级已经是RelativeLayout,如果我这样做,我会有两级RelativeLayout。当然,我可以通过删除xml中的外部RelativeLayout来解决它。但如果我这样做,我无法在eclipse的xml编辑器中看到预览,这就是我希望自定义视图从xml中膨胀的原因。

即使我的自定义视图类扩展FrameLayout,视图层次结构中也会有一层。如何解决这个问题?

1 个答案:

答案 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>