2012-07-20 53 views
1

问题是:我有一个TextView和一个EditText,我怎么能把他们放在同一个“级别”?Android_RelativeLayout - 如何将两个元素放在同一行上?

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> 

我当时就想,把他们两个的“高度”相同的值,但我不知道是否是正确的/更好的方式...

回答

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> 

谢谢。

+0

谢谢!我已经修复这样的: android:layout_alignBottom =“@ + id/username_new_account” – hyperloris 2012-07-20 11:16:40

+0

不错的工作:)。感谢您的接受:) – SALMAN 2012-07-20 11:16:58

+1

确定男人!再次感谢你 – hyperloris 2012-07-20 11:17:46

0

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

0

使用android:layout_toRightOfandroid: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> 
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> 
0

您必须将文本置于TextView小部件中,以便在TextView xml声明中使用android属性android:gravity

如果你希望你的文字得到垂直居中和水平使用:

android:gravity="center" 

如果你希望你的文字只得到水平居中使用:

android:gravity="center_horizontal" 
相关问题