我想使用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>
但它不起作用。所有控件( edittexts 和 textviews )相互叠加!我的代码出了什么问题?我使用layout_toRightOf
将它们放在一起。
因为它被提到,所以有足够的控制地点。
这也是设计师的照片,它看起来如何:
答案 0 :(得分:2)
我复制你的代码只是为了看到确切的问题,但一切看起来都很好。然而,由于空间问题,最后一个EditText在右侧狭窄。 你确定你有足够的空间让一切都适合吗?
由于空间太小,视图可能会互相塞满。
答案 1 :(得分:0)
尝试使用此代码,它将根据需要对齐:
<?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>
如果您需要任何进一步的信息,请在下方评论
答案 2 :(得分:0)
当您仔细观察时,在android:layout_toRightOf
和android:layout_toEndOf
属性中,您使用的是@+id/...
个值。删除+
以引用现有资源项。
答案 3 :(得分:0)
好的,问题似乎是在Xamarin Studio本身,它没有正确呈现布局的内容。因为当我在设备上运行这种布局时,控制器彼此相邻并且没有这样的问题,但是设计师表明它完全不同。