Android 隐藏和显示list列表
时间: 2023-10-05 07:08:29 浏览: 188
你可以在 Android 中使用以下方法来隐藏和显示列表:
1. 隐藏列表:
```
listView.setVisibility(View.GONE);
```
2. 显示列表:
```
listView.setVisibility(View.VISIBLE);
```
其中,listView 是你的列表对象。当你调用 setVisibility() 方法时,你可以传递三个参数:
- View.VISIBLE:表示该视图应该可见。
- View.INVISIBLE:表示该视图应该不可见,但仍占用其原始空间。
- View.GONE:表示该视图应该不可见,且不占用其原始空间。
因此,如果你想完全隐藏列表并释放其空间,你应该使用 View.GONE。
相关问题
<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> <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" /> 以上布局,在poi_list_container隐藏的时候,mapview会展示全屏,是搜索到结果后poi_list_container才显示,在这一瞬间,会造成mapview的黑屏,这应该怎么解决?
这个问题可以通过在poi_list_container显示前,将其背景设置为透明来解决。可以在代码中动态设置RelativeLayout的背景颜色为透明,即android:background="@android:color/transparent"。这样在poi_list_container显示前,mapview的背景就不会变黑了。
在安卓中的一个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>
这个问题可能是由于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" />
```
阅读全文