Relativelayout中的Textview对齐问题

时间:2014-09-14 15:48:29

标签: android android-layout

当我有这个:

<RelativeLayout 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:background="@drawable/background"
    android:gravity="center_horizontal|top"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="nl.dylaan.deroosterapp.MainActivity" >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="@string/app_version"
        android:textColor="@android:color/white"
        android:textSize="17sp" />



</RelativeLayout>

案文位于中心:

in the ceneter

但是当我添加一个新文本时:

<RelativeLayout 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:background="@drawable/background"
    android:gravity="center_horizontal|top"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="nl.dylaan.deroosterapp.MainActivity" >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="@string/app_version"
        android:textColor="@android:color/white"
        android:textSize="17sp" />


    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView2"
        android:layout_marginTop="33dp"
        android:text="@string/app_name_cap"
        android:textColor="@android:color/white"
        android:textSize="35sp" />
</RelativeLayout>

新文本现在位于中心,但textView2不是?我需要把它放在中心位置: enter image description here

有谁知道为什么这不起作用?

2 个答案:

答案 0 :(得分:1)

android:gravity="center_horizontal|top"删除RelativeLayout,它会搞乱规则。

要使所有View's的中心与[{1}}上的android:layout_centerHorizontal="true"一致使用View's

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:text="@string/app_version"
    android:textColor="@android:color/white"
    android:textSize="17sp" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView2"
    android:layout_marginTop="33dp"
    android:text="@string/app_name_cap"
    android:layout_centerHorizontal="true"
    android:textColor="@android:color/white"
    android:textSize="35sp" />

答案 1 :(得分:0)

尝试使用textview2的代码

   <TextView
    android:id="@+id/textView2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:gravity="center"
    android:text="@string/app_version"
    android:textColor="@android:color/white"
    android:textSize="17sp" />

由于中心水平布局

,它不起作用