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>
但是没用。所有的控件(edittexts和textviews)都放在一起了!我的代码有什么问题?我已经使用 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_toRightOf
和 android:layout_toEndOf
属性中,您使用的是 @+id/...
值。删除 +
以引用现有资源项。
好的,问题似乎出在 Xamarin Studio 本身,它没有正确呈现布局的内容。因为当我运行这个布局在设备上时,控制器并排放置,没有这样的问题,但设计师展示它完全不同。
我想使用 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
将它们并排放置。
并且因为它被提到,所以控件有足够的位置。
这也是设计师的照片,它看起来如何:
我复制了你的代码只是为了查看确切的问题,但一切看起来都很好。但是,由于 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_toRightOf
和 android:layout_toEndOf
属性中,您使用的是 @+id/...
值。删除 +
以引用现有资源项。
好的,问题似乎出在 Xamarin Studio 本身,它没有正确呈现布局的内容。因为当我运行这个布局在设备上时,控制器并排放置,没有这样的问题,但设计师展示它完全不同。