2

我有一个 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 可滚动。

4

2 回答 2

6

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

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

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

如何解决?

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

  1. 创建布局 header.xml 和 footer.xml 和 list.xml
  2. 从 main Activity 中的 list.xml 中找到 ListView 引用,并在 ListView 引用中动态添加页眉和页脚。
于 2013-03-06T09:53:16.877 回答
5

如果您只在线性布局中使用列表视图,则不需要使用滚动视图。因为默认情况下,列表视图是可滚动的。但是如果您还有其他组件,那么您可以将它们分开在另一个滚动视图中。确保滚动视图仅使用一种直接子布局。下面是一个示例代码。

 <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>
于 2013-03-05T15:23:18.917 回答