Android:无法在RelativeLayout中对齐3个视图

时间:2012-04-25 05:04:31

标签: android layout relativelayout

我有以下RelativeLayout

    <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="2dp"
    android:layout_marginRight="5dp"
    android:layout_marginBottom="5dp"
    android:layout_marginTop="5dp">
        <TextView
            android:id="@+id/x_memtxtlay"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_toLeftOf="@+id/x_memamtlay"
            android:textColor="#000000"
            android:textSize="22sp"
            android:paddingLeft="3dp">
        </TextView>


        <EditText
            android:id="@+id/x_memamtlay"
            android:layout_height="40dp"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_width="70dp"
            android:inputType="number"
            android:singleLine="true"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:background="@drawable/edittext_greybg"
            android:visibility="gone">
        </EditText>

        <TextView
            android:id="@+id/x_memamt"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:textColor="#000000"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:textSize="20sp"
            android:background="@drawable/number_fill">
        </TextView>

</RelativeLayout>

现在我必须根据一些要求将EditText(@ + id / x_memamtlay)可见性设置为已消失/可见,第二TextView(@ + id / x_memamt)可见性在我的活动中定期消失/可见。EditText或TextView将一次可见。

问题是,在第一个TextView(@ + id / x_memtxtlay)中,

当我设置android:layout_toLeftOf =“@ + id / x_memamtlay”:(在EditText的左边)

但是当我设置android:layout_toLeftOf =“@ + id / x_memamt”:(在第二个TextView的左边) enter image description here

如何调整布局,以便1st TextView左对齐EditText和2nd TextView。

3 个答案:

答案 0 :(得分:2)

尝试这只是对代码的一个小改动::

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginLeft="2dp"
    android:layout_marginRight="5dp"
    android:layout_marginBottom="5dp"
    android:layout_marginTop="5dp">
        <TextView
            android:id="@+id/x_memtxtlay"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:textColor="#000000"
            android:textSize="22sp"
            android:text="sdasdasd"
            android:layout_toLeftOf="@+id/x_memlay"
            android:paddingLeft="3dp">
        </TextView>
<FrameLayout  android:id="@+id/x_memlay"
            android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true"
            android:layout_centerVertical="true">
     <EditText
            android:id="@+id/x_memamtlay"
            android:layout_height="40dp"

            android:layout_width="70dp"
            android:inputType="number"
            android:singleLine="true"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"


            android:visibility="gone">
        </EditText>

        <TextView
            android:id="@+id/x_memamt"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:textColor="#000000"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:textSize="20sp"

        </TextView>
</FrameLayout>



</RelativeLayout>

答案 1 :(得分:0)

在您的代码中,您正在撰写

      EditText.setVisibility(View.GONE);

      EditText.setVisibility(View.INVISIBLE);

然后您无需更改XML文件。

答案 2 :(得分:0)

在最近的几次更新中,XML已成为一种错误。您需要键入值以将您想要的内容逐个移动到您想要的位置。