1

私はそのような問題を抱えています:私はその下にMapViewとListViewを持っています。マップサイズは固定。しかし、ビューを一緒にスクロールする必要があります。どういうわけか、非スクロールマップと1項目リストの問題を処理しましたが、別の問題が発生しました-ScrollViewでは、ListViewの下に多くの空きスペースがあり、それを取り除くことができません。リストを「wrap_content」に設定すると役立つと思いましたが、そうではありませんでした。何をすべきか?これが私のレイアウトです:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/scrollView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true">

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <com.package.MyMapView
                     android:layout_width="match_parent"
                     android:layout_height="100dp"
                     android:clickable="true"
                     android:apiKey="key"
                     android:id="@+id/map"
                     android:layout_gravity="top"/>
        <ListView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/channelsList" >

        </ListView>

    </LinearLayout>

    </ScrollView>
</LinearLayout>
4

3 に答える 3

2

どちらもスクロール可能なビューであるため、ListViewをScrollView内にラップすることは常に良い考えではありません。

于 2012-07-17T09:12:15.677 に答える
1

ScrollView に ListView を挿入しないでください。いずれの場合も、要件を満たしていません。MapView をヘッダーとして ListView に追加して、リストと一緒にスクロールできるようにしてください。

mapView をヘッダーとして実装するには、Java コードでaddHeaderView(<your_map_view>)listView コンポーネントにインクルードするだけです。これは、必ず が呼び出される前に呼び出す必要がありますsetAdapter()

于 2012-07-17T09:36:13.470 に答える
1

これらの行を置き換えてみてください:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

これらの行で:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="fill_parent" >
于 2012-07-17T09:11:02.940 に答える