我遇到了这样的问题:我在它下面有一个MapView和一个ListView。地图大小是固定的。但我需要一起滚动我的观点。我以某种方式处理了非滚动地图和一个迭代列表的问题,但另一个出现了 - 在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>
答案 0 :(得分:2)
在 ScrollView 中包装 ListView 始终不是一个好主意,因为两者都是可滚动的视图。
答案 1 :(得分: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" >
答案 2 :(得分:1)
不要在ScrollView中插入任何ListViews,在任何情况下都不能满足您的要求。尝试将MapView作为标题添加到ListView中,以使其与列表一起滚动。
要将mapView实现为标头,请在java代码中将addHeaderView(<your_map_view>)
包含在listView组件中。这必须在调用setAdapter()
之前调用。