在RelativeLayout中按中心线对齐视图

时间:2014-07-02 10:55:49

标签: android xml relativelayout

我有根RelativeLayout和子视图。

在观看一些视图后,我想放置3个视图:TextView TV1,TextView TV2和ProgressBar进度。 Ofcouse,Progress的高度大于textviews。在这3个观点之后放置了其他观点。

如何将TV1,TV2,Progress放入'中心'线?不使用任何其他容器,例如:LinearLayout

enter image description here

5 个答案:

答案 0 :(得分:0)

步骤-1 创建一个包含这三个视图的LinearLayout,并将android:gravity="center"设置为线性布局,如下所示

<LinearLayout 
android:id="@+id/action_header_RL"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" 
android:gravity="center"
>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="123"/>

 <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="456"/>

     <ProgressBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
</LinearLayout>

答案 1 :(得分:0)

选择一个参考视图(假设在您的情况下为 progressBar)并将其他视图相对于其顶部 AND 底部对齐。这样,它们将相对于其水平轴居中。

android:layout_alignTop ="@+id/reference_progressbar_id"
android:layout_alignBottom ="@id/reference_progressbar_id"

答案 2 :(得分:-1)

android:centerVertical="true"添加到您想要居中的视图中,但这并不能保证它们不会与您添加到布局的任何其他视图重叠。

答案 3 :(得分:-1)

保持此属性与tv1 tv2和进度

&LT; 机器人:layout_centerVertical = “真” &GT;

并保持tv1 android:layout_alignParentLeft =“true”

和tv2 to_Rightof tv1 并且进展保持to_RightOf tv2

答案 4 :(得分:-1)

    Try This Below Code:

  <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout01"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center" >

    <TextView
        android:id="@+id/TextView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ANDROID"
        android:layout_toLeftOf="@id/TextViewValue" />

    <TextView
        android:id="@+id/TextViewValue"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="Layout" />

    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/TextViewValue" />

</RelativeLayout>