需要在android中动态创建视图的建议

时间:2013-08-10 04:10:40

标签: android android-listview android-view

我将启动一个应用,其中我的活动页面将包含“n”个分组视图。分组视图意味着“视图集合(即一个组可以具有TextView + Button + ImageView)”。因此,该页面将具有“n”个这样的分组视图。

我需要一些建议,比如实现这一目标的最佳做法。我能想到以下几点:

1)是否应该使用ScrollView(然后我必须在运行时创建组并将一个放在另一个下)?

2)或者使用ListView(那么我如何容纳每行的高度,因为分组视图的高度可能彼此不同?)

或者我还有其他方式可以同意吗?

感谢建议和任何示例示例(如果有)。提前谢谢。

3 个答案:

答案 0 :(得分:1)

这两个选项都可以使用,它实际上取决于您的用例。

  • 在ScrollView中放置一个垂直LinearLayout,并将您的分组视图添加到LinearLayout。如果您的视图数量相对较少(不一定是固定数字,但足够小以至于您不必滚动多个“页面”以查看全部视图),我建议您这样做。确保ScrollView具有android:layout_height="match_parent"且LinearLayout具有android:layout_height="wrap_content"
  • 如果分组视图的数量不小,您可以使用ListView并为其创建适配器。这使您可以在项目滚动屏幕时利用ListView的自动视图回收。

对于任何一种情况,只为分组视图创建一个XML文件。在代码中,您将获得一个LayoutInflater对象(通常通过调用Activity.getLayoutInflater())并调用inflate(R.layout.your_grouped_views, null)。如果使用LinearLayout,您可以使用LinearLayout.addView(..)方法之一将其添加到代码中;如果使用ListView,您的适配器将从getView(...)返回整个内容。

答案 1 :(得分:1)

  1. 创建一个包含组视图常量元素的xml布局。

  2. 在你的主要xml布局中,它将是你的应用程序的contentView,放置一个 ScrollView 和一个 LinearLayout

  3. 然后在程序inflate中尽可能多地查看您的论坛视图。

答案 2 :(得分:0)

对于你的回答我想给你参考这个website,在这个网站上你可以学习在android中创建动态视图......