无需使用Scrollview即可滚动Linearlayout

and*_*ter 2 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>
Run Code Online (Sandbox Code Playgroud)

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

and*_*ter 6

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

起初我想以一种非常简单的方式解释这个问题.

  1. LinearLayout将是可滚动的.为此,我们可以使用ScrollView,但有时我们需要在LinearLayout中使用ListView.
  2. 我们知道在ScrollView中我们不能使用像ListView这样的另一个scrollview

怎么解决?

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

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


小智 5

如果你只是在线性布局中使用listview,那么你不需要使用scrollview.Because默认情况下ListView是可滚动的.但是如果你还有其他组件,那么你可以在另一个scrollview中分离它们.确保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>
Run Code Online (Sandbox Code Playgroud)