如何使ListView行填充屏幕?

时间:2014-10-06 08:45:46

标签: android xml listview screen fill

我有一个我在Fragment中创建的ListView。该列表具有动态内容,我希望列表填充所有屏幕时,条目很少。 怎么做?

以下是相关的XML文件 myFragment.xml

<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="match_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/listview"
        android:layout_height="wrap_content"
        android:layout_width="match_parent" >
    </ListView>


</LinearLayout>

这里是 listview_row.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout1"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent" >

    <TextView
        android:id="@+id/FirstText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1">
    </TextView>

    <TextView
        android:id="@+id/SecondText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textColor="#FFC030"    
        android:layout_weight="2">
    </TextView>

    <TextView
        android:id="@+id/ThirdText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1">
    </TextView>

    <TextView
        android:id="@+id/FourthText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1">
    </TextView>
</LinearLayout>

修改 换句话说,这是片段中的(多列)ListView(选项卡式活动):

enter image description here

我想要这个结果:

enter image description here

1 个答案:

答案 0 :(得分:1)

<ListView
        android:id="@+id/listview"
        android:layout_height="match_parent"
        android:layout_width="match_parent" >
    </ListView>

将ListView的高度设置为match_parent,就像我上面所做的那样。

更新:

在你的片段类中,获取屏幕的高度(以编程方式),然后在为ListView设置适配器时,需要设置LinearLayout的高度(内部{ {1}})到你得到的屏幕高度。

OR

listview_row.xml的高度设置为某个随机值,就像我在下面设置的那样(不建议使用,因为屏幕高度因屏幕分辨率不同而不同)

LinearLayout