Android相对布局 - 根据另一个窗口小部件可见性将窗口小部件父对齐

时间:2014-10-16 11:10:27

标签: android android-layout

我正在尝试设计这样的布局: enter image description here

Text1和Text2是两个始终与父右对齐的TextView。

在某些情况下,Text2会被隐藏,Text1会替换它。但是我无法使用布局参数来实现它。我试图搜索网站但无法获得任何帮助。

这样做的一种方法可能是以编程方式基于Text2的可见性修改Text1的对齐方式,但我想知道是否有任何方法可以使用布局参数来实现它。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

<RelativeLayout
      [...]>

    <TextView
        android:id="@+id/text1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="+id/text2"
        android:gravity="right"/>

    <TextView
        android:id="@+id/text2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:alignParentRight="true"/>

</RelativeLayout>

当您要删除text2时使用

  

setVisibility(View.GONE);

答案 1 :(得分:0)

尝试使用线性布局,将重力设置为 RIGHT ,例如

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="right">
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView1" />
    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView2" />
</LinearLayout>

现在,您可以自由地隐藏任何人或两个文本视图而不会打扰布局。