ListView下面的TextView但是在父母的底部,为什么?

时间:2016-03-03 15:00:54

标签: android android-layout listview textview

我已经google了很多,并在stackoverflow上阅读了更多内容。但无法找到答案。 这是我的列表视图:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    tools:context="k0f.de.americanfootball.AmericanFootballFragment"
    tools:showIn="@layout/activity_american_football">>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/league"
        android:gravity="center_horizontal"
        android:textAppearance="?android:textAppearanceLarge"
        android:background="@color/colorPrimaryLight"
        android:textColor="@color/colorDarkText"
        android:textStyle="bold"
        android:text="Deutschland: GFL 1" />
    <ListView
        android:id="@+id/list"
        android:divider="@color/colorListDark"
        android:dividerHeight="2dp"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight = "1"
        />
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/tv_hello"
            android:text="Hello World!" />

</LinearLayout>

我用fontawesome中的统计图标替换文本Hello World。

当列表视图为空时,文本视图是显示的结尾。为什么它不在标题的顶部?

这是两张图片:

Empty ListView Full ListView

2 个答案:

答案 0 :(得分:1)

textview始终位于底部,因为您在ListView中使用了layout_weight="1"。这意味着列表视图占据了所有遗漏区域。因此,即使元素占据空间,列表也会保持位置,因为它的权重设置为1.因此,textView始终被按下。我认为你不能做很多事情。如果你避免体重并使用wrap_content,如果没有足够的空间,textview可能会被推出。

答案 1 :(得分:0)

Try this: 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        xmlns:tools="http://schemas.android.com/tools"
        android:orientation="vertical"
        tools:context="k0f.de.americanfootball.AmericanFootballFragment"
        tools:showIn="@layout/activity_american_football">>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/league"
            android:gravity="center_horizontal"
            android:textAppearance="?android:textAppearanceLarge"
            android:background="@color/colorPrimaryLight"
            android:textColor="@color/colorDarkText"
            android:textStyle="bold"
            android:text="Deutschland: GFL 1" />
        <ListView
            android:id="@+id/list"
            android:divider="@color/colorListDark"
            android:dividerHeight="2dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />
        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/tv_hello"
                android:text="Hello World!" />

    </LinearLayout>