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. メイン アクティビティの list.xml から ListView 参照を見つけ、ListView 参照にヘッダーとフッターを動的に追加します。
于 2013-03-06T09:53:16.877 に答える
5

線形レイアウト内でリストビューのみを使用している場合は、スクロールビューを使用する必要はありません。ListView はデフォルトでスクロール可能であるためです。ただし、他のコンポーネントもある場合は、別のスクロールビューでそれらを分離できます。直接の子レイアウトを 1 つだけ使用します。以下はサンプルコードです。

 <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 に答える