1

问题是:我有一个 TextView 和一个 EditText,我怎样才能将它们放在同一个“级别”上?

http://postimage.org/image/o9l17a3zv/

如您所见,我想将“用户名”放在 EditText 的同一级别...

这是我的代码:

<TextView
    android:id="@+id/account_creation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/account_creation"
    android:textSize="20sp"
    android:textStyle="bold" />

<!-- Username -->

<TextView
    android:id="@+id/username_registration"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@id/account_creation"
    android:layout_toLeftOf="@+id/username_new_account"
    android:text="@string/user_text"
    android:textSize="15sp" />

<EditText
    android:id="@+id/username_new_account"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/account_creation"
    android:layout_alignParentRight="true"
    android:ems="10"
    android:hint="@string/user_editext" >

    <requestFocus />
</EditText>

我想在他们两个上加上相同的“高度”值,但我不知道这是否是正确/更好的方式......

4

5 回答 5

3

文本视图和编辑文本在同一行,触及父布局的底线 试试这个。

android:layout_alignBottom="@+id/editText1"

这肯定会帮助你。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/parentView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/editText1"
        android:text="TextView" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/textView1"
        android:ems="10" >

        <requestFocus />
    </EditText>

</RelativeLayout>

谢谢。

于 2012-07-20T10:44:57.673 回答
0

android:gravity="center"是解决方案

于 2012-07-20T10:33:49.363 回答
0

使用android:layout_toRightOforandroid:layout_toLeftOf属性,专用于相对布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="TextView" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true" android:layout_toRightOf="@+id/textView1">

        <requestFocus />
    </EditText>

</RelativeLayout>
于 2012-07-20T10:34:11.120 回答
0

试试这个

 <?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="fill_parent" >

<TextView
    android:id="@+id/account_creation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="account_creation"
    android:textSize="20sp"
    android:textStyle="bold" />

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/account_creation" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="user_text" />

    <EditText
        android:id="@+id/editText1"
        android:hint="Enter_username"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_toRightOf="@+id/textView1" >
    </EditText>
</RelativeLayout>

</RelativeLayout>
于 2012-07-20T10:40:40.023 回答
0

您必须在 TextView 小部件中将文本居中,只需android:gravity在 TextView xml 声明中使用 android 属性即可。

如果您希望您的文本垂直和水平居中,请使用:

 android:gravity="center"

如果您希望您的文本仅水平居中,请使用:

 android:gravity="center_horizontal"
于 2012-07-20T11:00:10.863 回答