2017-07-18 91 views
-1

我是在android上編程的新手,所以我很難理解相對佈局是如何工作的。我已經得到了大部分,但android:layout_centerVertical =「true」只是當我嘗試在我的代碼中使用它沒有工作。我應該按照從上到下的順序排列3個textviews,所以它會顯示「祝你生日快樂」,但我不能讓「生日」文本視圖居中。當我使用android:layout_centerInParent =「true」時,它的中心位於中間,我無法向左或向右移動它。有人能看我的代碼並告訴我我做錯了什麼嗎?謝謝。需要android的幫助:layout_centerVertical =「true」

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:textAppearance="?android:textAppearanceLarge" 
    android:text="Happy" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    android:layout_alignParentLeft="true" 
    android:textAppearance="?android:textAppearanceLarge" 
    android:text="Birthday" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentBottom="true" 
    android:textAppearance="?android:textAppearanceLarge" 
    android:text="To You" /> 
+1

當您使用相對佈局時,您可以爲每個視圖提供id,然後針對此視圖安排其他視圖。使用「android:layout_below」作爲'生日'和'給你' –

+0

你可以添加一張圖片來描述你想要的佈局嗎? –

回答

0

試試這個

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:gravity="center" // settext gravity as per your requirement 
     android:text="Happy" 
     android:textAppearance="?android:textAppearanceLarge" /> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_centerInParent="true" 
     android:gravity="center"// settext gravity as per your requirement 
     android:text="Birthday" 
     android:textAppearance="?android:textAppearanceLarge" /> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:gravity="center" // settext gravity as per your requirement 
     android:text="To You" 
     android:textAppearance="?android:textAppearanceLarge" /> 

</RelativeLayout> 
+0

謝謝!我欣賞的幫助 – Sara

+0

@Sara最歡迎的,請接受我答,因此它可以幫助其他也 –

0

您可以android:gravity="center"

將嘗試在其容器在垂直 和水平軸中心的對象,而不是改變它的大小。

android:layout_width="match_parent" 
android:gravity="left|center" // Text will Center & left align 

FYI

您正在使用RelativeLayout。爲了您的的TextView垂直問題,您應該使用android:layout_below

將此視圖的頂部邊緣放置在給定錨點視圖ID下方。 容納此視圖的頂部邊距和錨點視圖的底部邊距。

0

使用layout_centerVertical="true"在垂直方向

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:text="Happy" 
     android:textAppearance="?android:textAppearanceLarge" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:text="Birthday" 
     android:textAppearance="?android:textAppearanceLarge" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:text="To You" 
     android:textAppearance="?android:textAppearanceLarge" /> 
</RelativeLayout> 
+0

我試着用你提供的代碼, Sara

0

到中心視圖只需使用android:gravity="center"父佈局

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:textAppearance="?android:textAppearanceLarge" 
     android:text="Happy" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:layout_alignParentLeft="true" 
     android:textAppearance="?android:textAppearanceLarge" 
     android:text="Birthday" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentBottom="true" 
     android:textAppearance="?android:textAppearanceLarge" 
     android:text="To You" /> 

</RelativeLayout> 
0

你的文件現在產生正確的是:

Before

你想

而且我認爲是這樣的:

enter image description here

所以只需添加在你的根佈局以下行,這個水平對齊的所有兒童的意見在其中心

android:gravity =「center_horizo​​ntal」

+0

感謝您的幫助!我終於搞定了 – Sara

+0

沒問題......! –