我创建了一个简单的复合控件,其中包含一个EditText和一个Button,它可以清除EditText视图中的任何文本。
一切正常,但我想要做的是在层次结构查看器中将此复合控件视为一个整体(或单个视图),但每当我加载它时,我会看到我的自定义控件(扩展LinearLayout),以及它包含两个子视图。
我知道可以做我想做的事,因为我在Gmail应用程序中看到了它,它使用自定义视图(CanvasConversationHeaderView)在ListView中显示电子邮件项目。
我需要这样做,因为在我的情况下,我的自定义复合控件包含比此示例更多的单个视图,因此我需要减少活动中的总视图数。
我希望有人可以帮助我如何实现这一目标。
答案 0 :(得分:0)
你怎么知道来自gmail的CanvasConversationHeaderView
是一个复合视图?
如果通过复合视图引用ViewGroup
,那么层次结构视图的工作原理就是它遍历树,将ViewGroup
视为内部节点,将View
视为叶子。如果您不想要此行为,请不要从ViewGroup
延伸(在这种情况下为LinearLayout
)。