如何在hierarchyviewer中将android复合控件显示为单个视图项

如何在hierarchyviewer中将android复合控件显示为单个视图项,android,view,controls,Android,View,Controls,我创建了一个简单的复合控件,其中包含一个EditText和它下面的一个按钮,用于清除EditText视图中的任何文本 一切正常,但我想做的是在hierarchy viewer中将此复合控件作为一个整体(或单个视图)查看,但每当加载此控件时,我都会看到自定义控件(扩展了LinearLayout),以及它包含的两个子视图 我知道可以做我想做的事情,因为我在Gmail应用程序中见过它,它使用自定义视图(CanvasConversationHeaderView)在ListView中显示电子邮件项目 我需

我创建了一个简单的复合控件,其中包含一个EditText和它下面的一个按钮,用于清除EditText视图中的任何文本

一切正常,但我想做的是在hierarchy viewer中将此复合控件作为一个整体(或单个视图)查看,但每当加载此控件时,我都会看到自定义控件(扩展了LinearLayout),以及它包含的两个子视图

我知道可以做我想做的事情,因为我在Gmail应用程序中见过它,它使用自定义视图(CanvasConversationHeaderView)在ListView中显示电子邮件项目

我需要这样做,因为在我的例子中,我的自定义复合控件包含的单个视图比这个示例多得多,所以我需要减少活动中的总视图数


我希望有人能帮助我如何做到这一点。

你怎么知道gmail中的CanvasConversationHeaderView是一个复合视图


如果您引用的是复合视图,那么hierarchyviewer就是这样工作的,它将
ViewGroup
视为内部节点,将
view
视为叶子,遍历树。如果您不希望出现这种行为,那么就不要从
视图组扩展(
在本例中为LinearLayout

而hierarchyviewer显示层次结构的方式有什么问题?实际上没有问题,但我希望能够将其视为树中的叶,而不是具有多个子节点或叶的节点,这样可以减少“我的活动”中的总视图数活动中的视图数将是相同的,无论hierarchviewer如何显示它们。这就是你的意思吗?如果我没有正确解释我自己,我很抱歉。如果你在Gmail应用程序上加载HirarchyView,你可以看到CanvasConversationHeaderView被视为一个视图项,但你可以看到它本身包含多个视图项,但这些视图项不计入屏幕总视图数,这正是我想要实现的。如果我不得不猜测,我想说CanvasConversationHeaderView是一个使用画布来绘制自身的视图,而不是一个视图组。我的意思是,它是一个包含其他视图的视图,我知道这一点,因为我在2009年的谷歌I/O会议上听到Romain Guy提到了这一点。所以你是说,如果我想把它看作树中的一片叶子,我必须从视图继承并手动布局和绘制子视图?