因此我尝试进行简单的注册活动,但我的观点与预期不一致。
XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.mylifeinformationsharedsocial.SignUpActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/username_id"
android:text="@string/username_text"
android:textSize="20sp"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/username_edit_text_id"
android:hint="@string/username_hint_texts"
android:layout_toRightOf="@id/username_id"
android:layout_toEndOf="@id/username_id"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/password_id"
android:text="@string/password_text"
android:textSize="20sp"
android:layout_below="@id/username_edit_text_id"
/>
<EditText
android:id="@+id/password_edit_text_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:hint="@string/passworde_hint_texts"
android:layout_toRightOf="@id/password_id"
android:layout_toEndOf="@id/password_id"
android:layout_below="@id/username_edit_text_id"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/email_id"
android:text="@string/email_text"
android:textSize="20sp"
android:layout_below="@id/password_id"
/>
<EditText
android:id="@+id/email_edit_text_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:hint="@string/email_hint_text"
android:layout_toRightOf="@id/email_id"
android:layout_toEndOf="@id/email_id"
android:layout_below="@id/password_edit_text_id"
/>
<Button
android:id="@+id/sign_up_button_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sign_up_button_text"
android:layout_below="@id/email_id"
/>
图形布局:
我似乎无法找到它的错误。任何帮助将非常感激。 问题在于电子邮件向下,如图中所示。 它相当紧张,但显然不是。
答案 0 :(得分:1)
您的password_text
被宣布为低于username_edit_text_id
,而它希望低于username_id
。
Android采用你提供的所有规格,并尽力做你所要求的但如果规格不一致或不可能满足那么它就会出错。
答案 1 :(得分:1)
也许你可以这样试试:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/username_id"
android:text="@string/username_text"
android:textSize="20sp"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/username_edit_text_id"
android:hint="@string/username_hint_texts"
android:layout_toRightOf="@id/username_id"
android:layout_toEndOf="@id/username_id"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/password_id"
android:text="@string/password_text"
android:textSize="20sp"
android:layout_below="@id/username_edit_text_id"
/>
<EditText
android:id="@+id/password_edit_text_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:hint="@string/passworde_hint_texts"
android:alignRight = "@id/username_edit_text_id"
android:layout_below="@id/username_edit_text_id"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/email_id"
android:text="@string/email_text"
android:textSize="20sp"
android:layout_below="@id/password_id"
/>
<EditText
android:id="@+id/email_edit_text_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:hint="@string/email_hint_text"
android:alignRight = "@id/password_edit_text_id"
android:layout_below="@id/password_edit_text_id"
/>
<Button
android:id="@+id/sign_up_button_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sign_up_button_text"
android:layout_below="@id/email_id"
/>
我没有使用toRightOf
,而是使用alignRight
,因此所有EditText
都会正确对齐。
这适用于您的情况(如果您只有这些行),否则您应该将所有EditText
与最右边的行对齐。