如何将两个文本视图居中作为相对布局中心对齐的方式

时间:2016-04-04 14:34:09

标签: android android-relativelayout

如何在中心对齐的相对布局中放置两个文本视图Marked within red rectangle。如何设计如图所示?  这里的文字和数字都是文字视图。

enter image description here

我尝试过以下操作,但无法获得相对布局的中心对齐视图。

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="50dp">

            <LinearLayout
                android:id="@+id/location_party_size_lbl_layer"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_centerInParent="true"
                android:orientation="horizontal">

                <TextView
                    android:id="@+id/location_party_size_lbl"
                    android:layout_width="170dp"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:gravity="center_horizontal"
                    android:maxLines="2"
                    android:text="@string/loc_estimate"
                    android:textColor="@android:color/white"
                    android:textSize="15sp" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="match_parent"
                android:layout_centerVertical="true"
                android:layout_toRightOf="@+id/location_party_size_lbl_layer"
                android:orientation="horizontal"
                android:paddingBottom="10dp"
                android:paddingTop="10dp"
                android:weightSum="1.0">

                <TextView
                    android:id="@+id/location_party_size"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="0.48"
                    android:background="@drawable/rounded_bg"
                    android:gravity="center"
                    android:textColor="@android:color/white" />

                <TextView
                    android:id="@+id/qnowscreen_dummy_tv"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="0.52"
                    android:visibility="invisible" />
            </LinearLayout>
        </RelativeLayout>

1 个答案:

答案 0 :(得分:4)

您可以通过创建锚点视图并将TextView相对于锚点对齐来实现。

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

    <View
      android:id="@+id/anchor"
      android:layout_width="0dp"
      android:layout_height="0dp"
      android:layout_centerInParent="true" />

    <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_above="@id/anchor"
      android:layout_centerHorizontal="true" />

    <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@id/anchor"
      android:layout_centerHorizontal="true" />

  </RelativeLayout>