2

我正在尝试创建自定义视图 extends RelativeLayout。避免通过编码添加视图。我用我的自定义相对布局准备了一个 xml。

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

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

View.inflate(context, R.layout.custom_view, this);

我的问题是,因为我的班级已经是RelativeLayout.,如果我这样做,我将有两个级别的RelativeLayout. 当然,我可以通过去掉RelativeLayoutxml中的外层来解决。但如果我这样做,我无法在 Eclipse 的 xml 编辑器中看到预览,这就是我希望我的自定义视图从 xml 膨胀的原因。

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

4

1 回答 1

2

To reduce the unnecessary extra layer, you need to use merge tags. Here is a good example on how to use it.

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>
于 2013-09-24T00:43:33.703 回答