决策:ListView或ScrollView

时间:2014-03-13 12:12:53

标签: android listview scrollview

我需要一个Android Activity,它应该显示一个字段,如带有图像的标题和几个动态生成的项目(我认为1到100)。 如果我不想让headsection滚动,我会使用LinearLayout并将headsection布局放入其中。在这下面,我会添加一个ListView来滚动项目,但我希望将headsection滚动到列表的顶部。 我应该把这些东西放在ScrollView中还是有更好的主意?

2 个答案:

答案 0 :(得分:2)

should show a field like a headline with an image and several dynamic generated items (1 to 100 I think) - 使用ListView,因为它可以回收视图(效率原因)。此外,更改和维护列表适配器比复杂的UI结构更容易。

If I would not want the headsection to scroll, I would use a LinearLayout and put the headsection layout in it. - 为什么不使用顶部有标题的RelativeLayout,而且列表占据其余高度。这样就可以获得预期的结果。

but I want the headsection to be scrolled to, as a top of the list - 然后设置列表标题,或在列表视图中使用不同的视图,让您的第一个项目看起来与众不同。有关此主题的更多信息 - 请在Google中搜索android listview different views

无论采用哪种方式 - 使用ListView

答案 1 :(得分:0)

让一个带有LinearLayout的ScrollView作为它的孩子,并将你的东西放入LinearLayout。请记住,ScrollViews只能有一个子布局。这应该工作正常。像这样:

ScrollView android:id="@+id/ScrollView02"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        xmlns:android="http://schemas.android.com/apk/res/android">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/aboutFormLinearLayout"
              android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFFFFF">
    <TextView android:id="@+id/aboutFormVersionDescription"
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
              android:layout_gravity="center_horizontal" 
              android:gravity="center"
                 android:singleLine="true"
              android:text ="Version: "
                 android:textSize="15sp"
              android:textColor="#000000"/>
    <TextView android:id="@+id/aboutFormVersion"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
              android:gravity="center"
                    android:singleLine="false"
                    android:textSize="20sp"
                    android:textColor = "#000000"
                    android:layout_marginBottom ="20sp"/>
    <TextView android:id="@+id/aboutFormCompanyDescription"
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
                 android:layout_gravity="center_horizontal"
              android:gravity="center"
                 android:singleLine="true"
                 android:textSize="15sp"
              android:text ="Company: "
              android:textColor="#000000"/>
    <TextView android:id="@+id/aboutFormCompany"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
              android:gravity="center"
                    android:singleLine="false"
                    android:textSize="20sp"
                    android:textColor = "#000000"
                    android:layout_marginBottom ="20sp"
              />
</LinearLayout>