布局:顶部的TextView和中心的ListView

时间:2014-09-03 02:49:17

标签: android android-layout

目前我的ListView正好在我的TextView下面。当TextView在顶部保持其位置时,如何将ListView设置在屏幕的中心?

以下是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/hp_color"
tools:context=".MainActivity" >

<TextView
    android:id="@+id/cityText"
    style="?android:attr/textAppearanceMedium"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true" />

<TextView
    android:id="@+id/condDescr"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/cityText" />

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/condDescr"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/mainListView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true" />
</LinearLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

您可以使用Gravity将列表视图放在屏幕中央。

 <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/root"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/hp_color"
        tools:context=".MainActivity" >

        <TextView
            android:id="@+id/cityText"
            style="?android:attr/textAppearanceMedium"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true" />

        <TextView
            android:id="@+id/condDescr"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/cityText" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_below="@+id/condDescr"
            **android:gravity="center_vertical|center_horizontal"**
            android:orientation="vertical" >

            <ListView
                android:id="@+id/mainListView"
                android:layout_width="70dp"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true" />
        </LinearLayout>

    </RelativeLayout>

答案 1 :(得分:0)

尝试设置

android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"

虽然我不是这里的专家,但我的印象是,在LinearLayout中使用ListView并不重要。两者都是可滚动的(不建议这样做),如果LinearLayout只有一个孩子,则没有多大意义。