文本总是在中心和右边,怎么样?

时间:2015-01-08 20:08:32

标签: android android-layout android-linearlayout android-relativelayout

对不起,我知道这是一个简单的问题,但我现在无法做到这一点。

我希望一个文本始终位于中心,另一个文本位于右侧。

但是当文本过于漫长时,他们会相互交流。

假设我希望第二个文本始终位于右侧,第一个文本位于中心,但当其中一个文本太长时,居中的文本必须向左移动。

我怎么能这样做?

我写这个但是它无法正常工作。

<RelativeLayout
        android:id="@+id/workout_footer_text"
        android:layout_width="match_parent"
        android:layout_height="@dimen/workout_header_height"
        android:background="@color/green"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin">


        <TextView
            android:id="@+id/review_comments_label"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/text_color_white"
            android:textSize="@dimen/review_top_text_size"
            android:singleLine="true"
            android:gravity="center"
            android:layout_toLeftOf="@+id/review_write_label"
            android:layout_centerInParent="true"
            android:layout_gravity="center"/>


        <TextView
            android:id="@+id/review_write_label"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/text_color_white"
            android:layout_alignParentRight="true"
            android:gravity="center_vertical"
            android:singleLine="true"
            android:layout_marginLeft="20dp"
            android:textSize="@dimen/review_top_text_size"
            android:layout_centerVertical="true"/>
        </RelativeLayout>

2 个答案:

答案 0 :(得分:0)

取代第一个TextView中的layout_toLeftOf="@+id/review_write_label",删除该行并将layout_toRightOf="@id/review_comments_label"添加到第二个TextView,以确保第一个视图保持居中,第二个视图保持在右侧。

<强>更新

然后使第二个视图的宽度与父级匹配,并将其重力设置为右侧。这将正确地证明容器中的文本,该容器从中心TextView的右边缘延伸到父级的右边缘,这要归功于match_parent宽度。

答案 1 :(得分:0)

你可以试试这个:

<LinearLayout
            android:id="@+id/linearLayout2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:orientation="horizontal">

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="text1" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="text2" />                
        </LinearLayout>