centerInParent将X坐标设置得太右

时间:2015-11-10 22:22:03

标签: android android-relativelayout

我正在尝试制作2个按钮,每个按钮下面有1个textview,彼此对齐。

到目前为止,这是我的代码:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@color/background_color"
    tools:context=".WelcomeActivity"
    android:weightSum="1">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="55dp"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="a string of text"
        android:textSize="30dp"
        android:background="#cac09F"
        android:id="@+id/textView2"
        android:gravity="center_vertical|center_horizontal" />

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center_vertical|center_horizontal">
        <Button android:id="@+id/btn1"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:focusable="true"
            android:background="@mipmap/icon_1">
        </Button>
        <Button android:id="@+id/btn2"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_marginLeft="50dp"
            android:focusable="true"
            android:layout_toRightOf="@+id/btn1"
            android:background="@mipmap/icon_2">
        </Button>
        <TextView
            android:id="@+id/txt1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15sp"
            android:text="Button 1"
            android:layout_centerInParent="true"
            android:layout_below="@id/btn1"/>
        <TextView
            android:id="@+id/txt2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15sp"
            android:text="Button 2"
            android:layout_below="@+id/btn2"/>
    </RelativeLayout>
</LinearLayout>

当我为android:layout_centerInParent="true"添加TextViews时,他们的右边缘将与btn2的右边缘对齐。

btn1layout_centerInParent="true"而不是btn2时,会看到一张照片 enter image description here

1 个答案:

答案 0 :(得分:1)

试试这个:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/background_color"
android:orientation="vertical"
android:weightSum="1"
tools:context=".WelcomeActivity">

<TextView
    android:id="@+id/textView2"
    android:layout_width="match_parent"
    android:layout_height="55dp"
    android:background="#cac09F"
    android:gravity="center_vertical|center_horizontal"
    android:text="a string of text"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textSize="30dp" />

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true">

    <LinearLayout
        android:id="@+id/ll1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <Button
            android:id="@+id/btn1"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:background="@mipmap/icon_1"
            android:focusable="true" />

        <TextView
            android:layout_gravity="center_horizontal"
            android:id="@+id/txt1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/btn1"
            android:layout_centerInParent="true"
            android:text="Button 1"
            android:textSize="15sp" />


    </LinearLayout>

    <LinearLayout
        android:layout_marginLeft="50dp"
        android:layout_toRightOf="@+id/ll1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">


        <Button
            android:id="@+id/btn2"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_toRightOf="@+id/btn1"
            android:background="@mipmap/icon_2"
            android:focusable="true" />

        <TextView
            android:layout_gravity="center_horizontal"
            android:id="@+id/txt2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/btn2"
            android:text="Button 2"
            android:textSize="15sp" />

    </LinearLayout>
</RelativeLayout>

我使用相对布局作为父级,并将2个按钮及其下方文本放在2个不同的线性布局中。