无需使用Scrollview即可滚动Linearlayout

时间:2013-03-05 14:55:37

标签: android scrollview android-linearlayout

我有一个Linearlayout,我想在不使用ScrollView的情况下使其可滚动。可能吗。任何建议将不胜感激。这是详细信息: 如果我使用ScrollView包装LinearLayout,它可以,但是当我在LinearLayout中使用ListView时(因为它是我的客户端要求),它说不要在ScrollView中使用ListView。我必须使用ListView显示50个产品列表,我必须将此ListView放在LinearLayout中,同时整个布局将是可滚动的。可能吗。这是骨架:

<LinearLayout>
  <RelativeLayout>
    <LinearLayout> 
        <TextView>
    </LinearLayout>
    <LinearLayout>
        <TextView>
    </LinearLayout>
    <LinearLayout>
        <TextView>
    </LinearLayout>
    <LinearLayout>
        <TextView>
    </LinearLayout>
    <LinearLayout>
        <TextView>
    </LinearLayout>
    <LinearLayout>
        <TextView>
    </LinearLayout>
    <LinearLayout>
        <TextView>
    </LinearLayout>
    <LinearLayout>
        <TextView>
    </LinearLayout>
    <LinearLayout>
        <TextView>
    </LinearLayout>
    <LinearLayout>
        <TextView>
    </LinearLayout>
    <LinearLayout>
        <TextView>
    </LinearLayout>
    <LinearLayout>
        <TextView>
    </LinearLayout>
    <LinearLayout>
        <TextView>
    </LinearLayout>
    <LinearLayout>
        <TextView>
    </LinearLayout>
    <LinearLayout>
        <ListView>
    </LinearLayout> 
  </RelativeLayout>
</LinearLayout>

重要说明:请参阅我要添加50个列表项的ListView。那么如何才能使这个整体LinearLayout可滚动。

2 个答案:

答案 0 :(得分:5)

如果你只是在线性布局中使用listview,那么你不需要使用scrollview.Because默认情况下ListView是可滚动的。但是如果你还有其他组件,那么你可以将它们分开另一个scrollview.Make确保ScrollView仅使用一个直接子布局。 以下是示例代码。

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="#ffffff"> 

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:divider="#b5b5b5"
        android:dividerHeight="1dp"
        android:cacheColorHint="#00000000"/> 

</LinearLayout>

答案 1 :(得分:5)

实际上在做了一些研究之后,我想出了一个解决这个问题的方法:

首先,我想以一种非常简单的方式解释这个问题。

  1. LinearLayout将可滚动。为此,我们可以使用ScrollView,但有时我们需要在LinearLayout中使用ListView。
  2. 我们知道在ScrollView中我们不能使用像ListView
  3. 这样的其他滚动视图

    如何解决?

    ListView本身可以滚动,因此我们可以在ListView中添加页眉和页脚。作为结论:

    1. 创建布局header.xml和footer.xml以及list.xml
    2. 从主活动中的list.xml中查找ListView引用,并在ListView引用中动态添加页眉和页脚。