2016-01-17 53 views
0

我的TextView將垂直對齊到佈局的中心,但我希望它對齊到頂部,因爲它必須是ListView的標頭。我試圖把它放在內部的RelativeLayout中,但它沒有幫助。 我Layout.xml:將TextView與使用ListView的RelativeLayout頂部對齊

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/re/android"xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<RelativeLayout 
android:id="@+id/header" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_alignParentTop="true" 
android:background="#FC9" 
android:gravity="center" > 
<TextView 
    android:id="@+id/main_activity_header" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="20dp" 
    android:text="@string/header_main_activity" 
    android:background="#3F51B5" 
    android:textColor="#FFFFFF" 
    /> 
</RelativeLayout> 
    <ListView 
    android:id="@+id/menu" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_below="@id/header" 
    > 
</ListView> 
</RelativeLayout> 

在編輯器都在一起看起來不錯,但是,當我在設備上運行我的應用程序列表是不完全填充,我的TextView與ListView控件對齊到垂直中心。

我必須做些什麼才能使其與佈局頂部對齊?

回答

1

對於持有TextView的ListView和RelativeLayout都有wrap_content。其中之一應該是配對父母。另外 - 你可能希望引力是「center_horizo​​ntal」而不是「中心」。另外,將「layout_alignparentbottom」添加到列表視圖中,以便它從底部開始並位於標題下方。

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/re/android"xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<TextView 
    android:id="@+id/main_activity_header" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="20dp" 
    android:text="@string/header_main_activity" 
    android:background="#3F51B5" 
    android:textColor="#FFFFFF" 
    /> 
    <ListView 
    android:id="@+id/menu" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_centerHorizontal="true" 
    android:layout_below="@id/main_activity_header" 
    android:layout_alignParentBottom="true" 
    > 
</ListView> 
</RelativeLayout>