2017-09-26 111 views
0

我已經嘗試了幾個類似問題的答案,但是我無法使用id = email的edittext居中顯示在屏幕上,它位於屏幕的左側。我確實以編程方式更改edittext的寬度,但隨後我以編程方式重置重力。我不明白爲什麼它不是集中。Android Edittext不會水平居中

XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="#333333" 
android:focusableInTouchMode="true" 
android:id="@+id/edt" 
xmlns:android="http://schemas.android.com/apk/res/android"> 

<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:hint="EMAIL" 
    android:inputType="textEmailAddress" 
    android:layout_marginTop="50dp" 
    android:textCursorDrawable="@null" 
    android:background="@drawable/edittextbackground" 
    android:textSize="30dp" 
    android:id="@+id/email" 
    android:textColor="#67bca2" 
    android:textColorHint="@drawable/selector"/> 

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="PASSWORD" 
    android:inputType="textPassword" 
    android:layout_marginTop="50dp" 
    android:textCursorDrawable="@null" 
    android:background="#333333" 
    android:textSize="30dp" 
    android:id="@+id/password" 
    android:textColor="#67bca2" 
    android:textColorHint="@drawable/selector" 
    android:layout_below="@+id/email" 
    android:gravity="center_horizontal"/> 

<RelativeLayout android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_below="@+id/password" 
    android:background="#333333" 
    android:focusableInTouchMode="true" 
    android:layout_centerInParent="true" 
    android:layout_centerVertical="true" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

<ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/zeus_getdevicemdpi" 
    android:layout_marginTop="40dp" 
    android:background="#0000" 
    android:id="@+id/login" 
    android:onClick="checklogin" 
    android:layout_gravity="center" /> 

<ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/zeus_getdevicemdpi" 
    android:layout_toRightOf="@+id/login" 
    android:layout_marginTop="40dp" 
    android:background="#0000" 
    android:id="@+id/createNew" 
    android:onClick="register"/> 

</RelativeLayout> 
</RelativeLayout> 

的java:

EditText email = (EditText) findViewById(R.id.email); 
    email.setTypeface(custom_font); 
    email.getLayoutParams().width = width/2; 
    email.setGravity(Gravity.CENTER); 
+0

加上'機器人:layout_centerHorizo​​ntal = 「真」'來的EditText –

+0

試過了纔沒有workI –

+0

使用'機器人:layout_width = 「EditText」的「match_parent」。 –

回答

1

首先,對於UI的問題,習慣於請附上快照。然後,請告訴我們一個視圖已經在工作,另一個則不是。我沒有太多的東西來看看你錯過了哪一部分,但請喬尼曼在你發佈SO之前做出一些努力。 您需要更改的是:

android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center_horizontal" 

你混淆的觀點本身及其內容(文本)BTW。

enter image description here

enter image description here

0

試試這個

<EditText 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:hint="EMAIL" 
     android:inputType="textEmailAddress" 
     android:layout_marginTop="50dp" 
     android:textCursorDrawable="@null" 
     android:textSize="30dp" 
     android:layout_centerHorizontal="true" 
     android:id="@+id/email" 
     android:textColor="#67bca2" 
     android:textColorHint="#000000"/>