RelativeLayout 对齐 Textview 和 Edittext

RelativeLayout align Textview and Edittext

我想使用 RelativeLayout 水平对齐一个 textview,然后是一个 edittext,然后是一个 textview,然后是一个 edittext。我知道您可以使用 LinearLayout 来做到这一点,但我想使用 relativeLayout 来完成。 我的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/userNameLbl"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Username:"
        android:layout_alignParentLeft="true" />
    <EditText
        android:id="@+id/userNameText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/userNameLbl"
        android:minWidth="200dp"
        android:text="Sample Text" />
    <TextView
        android:id="@+id/pwdLbl"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Password:"
        android:layout_toRightOf="@+id/userNameText"
        android:layout_toEndOf="@+id/userNameText" />
    <EditText
        android:id="@+id/userNameText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/pwdLbl"
        android:minWidth="200dp"
        android:text="Sample Text" />
 </RelativeLayout>

但是没用。所有的控件(edittextstextviews)都放在一起了!我的代码有什么问题?我已经使用 layout_toRightOf 将它们并排放置。 并且因为它被提到,所以控件有足够的位置。 这也是设计师的照片,它看起来如何:

我复制了你的代码只是为了查看确切的问题,但一切看起来都很好。但是,由于 space 问题,最后一个 EditText 被挤在了右侧。 你确定你有足够的 space 来装下所有东西吗?

鉴于 space 太少,视图可能会相互挤在一起。

试试这个代码,它会根据你的需要对齐:

  <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:orientation="horizontal"
    android:layout_height="match_parent">

        <TextView
            android:id="@+id/userNameLbl"
            android:layout_width="0dp"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:text="Username:" />
        <EditText
            android:id="@+id/userNameText"
            android:layout_width="0dp"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"

            android:minWidth="200dp"
            android:text="Sample Text" />




        <TextView
            android:id="@+id/pwdLbl"
            android:layout_width="0dp"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:text="Password:"

            />
        <EditText
            android:id="@+id/userNameText2"
            android:layout_width="0dp"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"


            android:minWidth="200dp"
            android:text="Sample Text" />


</LinearLayout>

如果您需要更多信息,请在下方评论

仔细观察,在 android:layout_toRightOfandroid:layout_toEndOf 属性中,您使用的是 @+id/... 值。删除 + 以引用现有资源项。

好的,问题似乎出在 Xamarin Studio 本身,它没有正确呈现布局的内容。因为当我运行这个布局在设备上时,控制器并排放置,没有这样的问题,但设计师展示它完全不同。