我今天正在为我的项目使用ListView,我需要我的列表视图从它从BUT调用的按钮开始,因为通常的列表视图表现的项目通常出现在它的分配空间的顶部(在屏幕上)当它这样做时,它留下了我想要摆脱的不需要的空间。
我的ListView假设有1-4个项目用于放映,另外2个用于滚动。 因此,有些情况下列表本身并不满。
是否可以让我的列表视图做我想要的,如果是,怎么做?
一个直观的例子: 我当前的ListView看起来像这样:
Item 1
Item 2
Item 3
*unwanted space*
*Button that changes the visibillity of the list view*
如果列表变短,我希望我的列表视图如下所示:
Item 1
Item 2
Item 3
*Button that changes the visibillity of the list view*
这是我的listView的XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layoutDirection="ltr"
tools:targetApi="11">
<ListView
android:id="@+id/lv"
style="@style/Widget.AppCompat.ListView"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_above="@+id/chooserBtn"
android:layout_alignEnd="@+id/chooserBtn"
android:layout_alignStart="@+id/chooserBtn"
android:footerDividersEnabled="false"
android:headerDividersEnabled="false" />
</RelativeLayout>
答案 0 :(得分:0)
您必须使用listview的“wrap_content”高度和父布局。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layoutDirection="ltr"
tools:targetApi="11">
<ListView
android:id="@+id/lv"
style="@style/Widget.AppCompat.ListView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/chooserBtn"
android:layout_alignEnd="@+id/chooserBtn"
android:layout_alignStart="@+id/chooserBtn"
android:footerDividersEnabled="false"
android:headerDividersEnabled="false" />
<!-- or use button code here just make listview height as "wrap_content"-->
</RelativeLayout>
希望这会有所帮助。
答案 1 :(得分:0)
Yeah... I looked for a few more hours in the web and finally found a working solution.
These 3 lines in the xml needed to be added:
android:footerDividersEnabled="false"
android:stackFromBottom="true"
android:headerDividersEnabled="false"