在安卓中的一个layout中,写了一个listview和一个百度地图的MapView,其中listview先隐藏掉,从别的地方来到这个Activity中去搜索poi后,拿到数据才显示这个listview,然后点击条目去跳转到另一个Activity,跳转的同时把listview隐藏,这个时候,在屏幕的右侧会有一个listview大小的黑屏,是怎么回事?代码如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/poi_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:baselineAligned="false" android:orientation="horizontal"> <RelativeLayout android:id="@+id/poi_list_container" android:layout_width="360dp" android:layout_height="wrap_content" android:background="@drawable/bg_list_circular" android:visibility="gone"> <ListView android:id="@+id/poi_list" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="none" /> </RelativeLayout> <RelativeLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="3"> <com.baidu.mapapi.map.MapView android:id="@+id/bmapView" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true" android:focusable="true" /> </RelativeLayout> </LinearLayout>
时间: 2023-11-27 17:51:15 浏览: 88
安卓listview
4星 · 用户满意度95%
这个问题可能是由于ListView的高度设置为match_parent引起的。当ListView被隐藏时,它的高度为0,但是它的父容器RelativeLayout的高度仍然为wrap_content。因此,RelativeLayout会显示一个空白区域,大小等于ListView的高度。解决办法是将ListView的高度设置为wrap_content,这样当它被隐藏时,它的高度将为0,RelativeLayout也会跟着缩小。修改代码如下:
```
<ListView
android:id="@+id/poi_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none" />
```
阅读全文