【发布时间】:2015-12-11 14:30:39
【问题描述】:
我想使用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 将它们放在一起。
并且因为它被提及,所以控件有足够的位置。
这也是设计师的照片,它的样子:
【问题讨论】:
-
在你的布局中使用 android:orientation="horizontal"
-
原因是你的文本视图和编辑文本不能放在一行中。所以你可以使用 HorizontalScrollView。
-
作为旁注,我注意到您在一个 TextView 中使用了“toEndOf”,将它用于您的 EditText 也是一个好习惯。另外,在第一个中添加“alignParentStart=true”。这只是为了帮助支持左右布局。
-
而且,除了句法方面的东西,fill_parent 已被弃用,我会将其更改为 'match_parent'
标签: android xml android-layout xamarin xamarin-studio