将RelativeLayout内的子视图对齐以匹配父级的右边框

时间:2017-09-28 11:38:05

标签: android xml layout border overlap

基本上,有一个RelativeLayout和两个子视图(TextViews)。其中一个孩子的宽度大于另一个孩子(这取决于他们的内容cos孩子的宽度设置为" wrap_content")。如何移动最小的电视,它的右边框与其容器(RL)的右边界相匹配? 情况 Situation

期望的位置 Desired alocation

XML:

<RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="right"
        >
    <TextView
        android:id="@+id/effect_text"
        android:textSize="100sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:textStyle="bold"
        android:textColor="@color/transparent_color"
        android:text="88:88"
        />
        <TextView
            android:id="@+id/text"
            android:textSize="100sp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:shadowColor="@color/text_shadow"
            android:shadowDx="1"
            android:shadowDy="1"
            android:shadowRadius="10"
            android:text="12:34"/>
    </RelativeLayout>

3 个答案:

答案 0 :(得分:1)

你是以这种方式写的吗?

<TextView
    android:id="@+id/effect_text"
    android:textSize="100sp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:textStyle="bold"
    android:textColor="#fbb"
    android:text="88:88"
    />
<TextView
    android:id="@+id/text"
    android:textSize="100sp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:textStyle="bold"
    android:textColor="#abb"
    android:shadowDx="1"
    android:shadowDy="1"
    android:shadowRadius="10"
    android:text="12:34"/>

答案 1 :(得分:0)

试试这只是让您的第二个textview android:layout_toRightOf="@+id/effect_text"到您的第一个Textview

如下面的代码

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"  >

    <TextView
        android:id="@+id/effect_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:text="88:88"
        android:textColor="@color/transparent_color"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_toRightOf="@+id/effect_text"
        android:shadowColor="@color/text_shadow"
        android:shadowDx="1"
        android:shadowDy="1"
        android:shadowRadius="10"
        android:text="12:34"
        android:textStyle="bold" />


</RelativeLayout>

答案 2 :(得分:0)

试试这个

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

    <TextView
        android:id="@+id/effect_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="88:88"
        android:layout_toLeftOf="@id/text"
        android:textColor="@android:color/black"
        android:textSize="100sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/text"
        android:layout_alignParentRight="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:shadowColor="@color/text_shadow"
        android:shadowDx="1"
        android:layout_marginLeft="8dp"
        android:shadowDy="1"
        android:shadowRadius="10"
        android:text="12:34"
        android:textSize="100sp"
        android:textStyle="bold" />
</RelativeLayout>