【发布时间】:2012-10-19 16:12:28
【问题描述】:
我有一组我想始终一起使用的视图。这方面的一个例子可能是这样的:
<LinearLayout>
<TextView />
<EditView />
</LinearLayout>
文本视图是提示,编辑视图是答案。我想给这个组合起一个名字,并且能够使用这个名字把它弹出到 xml 中。我希望它是一个自定义视图,这样我就可以把它很好地放在一个类中,并为它创建各种实用函数。有什么办法可以做到吗?我知道我可以继承 LinearLayout 并在 java 代码中动态创建子级,但这使我无法通过 xml 轻松进行更改。有更好的路线吗?
是的,我也有一些我想做的地方,而不仅仅是提示。
【问题讨论】:
-
无耻的自我推销,但可能是相关的 - stackoverflow.com/questions/11722340/edittext-on-demand-widget
-
你读过Android关于设计Custom Components的文章吗?
-
是的,我有 Sam,过去我自己编写了 3 个自定义视图(一个用于显示相机的 Camera View,一个用于将 Web 上的图像直接下载到一个 imageview 中的 UrlImageView,以及一个DragAndDrop 图像布局在 AbsoluteLayout 之上)。但是该页面中的所有内容都没有向您展示如何在 xml 中定义带有子视图的小部件——它们都是在 Java 中完成的。我希望避免这种情况。