2016-01-20 29 views
1

enter image description here在RelativeLayout的

如果您發現的電子郵件和密碼的EditText意見定心的EditText意見,行不居中。在Android Studio的設計和預覽模式中,它們看上去居中,但當我在手機上運行它時,就是所顯示的。我無法使其居中。這裏是我的什麼現在是代碼:

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="center_horizontal"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="@string/email" 
     android:id="@+id/emailTextLabel" 
     android:layout_marginTop="42dp" 
     android:layout_alignParentTop="true" 
     android:layout_alignLeft="@+id/passwordTextLabel" 
     android:layout_alignStart="@+id/passwordTextLabel"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="@string/password" 
     android:id="@+id/passwordTextLabel" 
     android:layout_marginLeft="27dp" 
     android:layout_marginStart="27dp" 
     android:layout_marginTop="50dp" 
     android:layout_below="@+id/emailTextLabel" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true"/> 

    <EditText 
     android:layout_width="325dp" 
     android:layout_height="wrap_content" 
     android:inputType="textEmailAddress" 
     android:ems="10" 
     android:id="@+id/emailEditText" 
     android:layout_below="@+id/emailTextLabel" 
     android:layout_alignLeft="@+id/emailTextLabel" 
     android:layout_alignStart="@+id/emailTextLabel"/> 

    <EditText 
     android:layout_width="325dp" 
     android:layout_height="wrap_content" 
     android:inputType="textPassword" 
     android:ems="10" 
     android:id="@+id/passwordEditText" 
     android:layout_below="@+id/passwordTextLabel" 
     android:layout_alignLeft="@+id/passwordTextLabel" 
     android:layout_alignStart="@+id/passwordTextLabel"/> 

    <CheckBox 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/keep_me_signed_in" 
     android:id="@+id/keepMeSignedInCheckBox" 
     android:layout_below="@+id/passwordEditText" 
     android:layout_alignLeft="@+id/passwordEditText" 
     android:layout_alignStart="@+id/passwordEditText"/> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/sign_in" 
     android:id="@+id/sign_in_button" 
     android:layout_alignTop="@+id/sign_up_button" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_marginLeft="90dp"/> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/sign_up" 
     android:id="@+id/sign_up_button" 
     android:layout_marginTop="40dp" 
     android:layout_below="@+id/keepMeSignedInCheckBox" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_marginRight="90dp"/> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/use_without_account" 
     android:id="@+id/use_without_account_button" 
     android:layout_marginTop="8dp" 
     android:layout_below="@+id/sign_in_button" 
     android:layout_centerHorizontal="true"/> 

</RelativeLayout> 

回答

2

設置EditText寬度match_parent,並給左,右margin,並刪除android:layout_alignLeftandroid:layout_alignStart

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:inputType="textEmailAddress" 
    android:ems="10" 
    android:layout_marginLeft="27dp" 
    android:layout_marginRight="27dp" 
    android:id="@+id/emailEditText" 
    android:layout_below="@+id/emailTextLabel"/> 
+0

謝謝!這工作。我不知道爲什麼我沒有想到做這個哈哈。 –

+0

帶邊距的居中視圖是非常非常不好的做法。 –

+0

@ P.Ilyin是的,我知道,但我根據OP的問題給出了答案。 –

1

採用Android:layout_centerHorizo​​ntal = 「true」 是對中視圖的最佳解決方案

 <EditText 
      android:id="@+id/note_title" 
      android:layout_width="100dp" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:hint="Тема" 
      android:paddingLeft="10dp" 
      android:paddingRight="10dp" 
      android:textCursorDrawable="@null"/> 
    </RelativeLayout> 
+0

這是一個很好的解決方案,我試了一下,它的工作原理。不知道爲什麼它downvoted。 –

+0

@RRR他會使用其他好的解決方案:爲不同顯示尺寸創建尺寸資源 –

+1

@RRR我確實在想這個,這就是我使用你的解決方案的原因:] –