EditText光标驻留在提示之后

我在电子邮件和密码字段的应用程序中有一个简单的loginactivity 。 电子邮件EditTexthintcursor位置有一个奇怪的问题:

从图中可以看出,默认情况下, cursor不在第一个位置。 在提示之后显示(好像hint是input文本)

layout而言,密码EditText和电子邮件一样,但是没有这个问题:

任何人有任何线索为什么会发生这种情况 我该如何解决呢?


这里是活动的布局:

 <ScrollView android:id="@+id/login_form" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout style="@style/LoginFormContainer" android:orientation="vertical" > <EditText android:id="@+id/email" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="left" android:hint="@string/prompt_email" android:inputType="textEmailAddress" android:maxLines="1" android:singleLine="true" /> <EditText android:id="@+id/password" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="left" android:hint="@string/prompt_password" android:imeActionId="@+id/login" android:imeActionLabel="@string/action_sign_in_short" android:imeOptions="actionUnspecified" android:inputType="textPassword" android:maxLines="1" android:singleLine="true" /> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="20dip" android:gravity="center" > <!-- sign in button --> <TextView android:gravity="center" android:id="@+id/sign_in_button" android:layout_width="120dip" android:layout_height="50dip" android:layout_alignParentRight="true" android:layout_marginLeft="25dip" android:layout_marginRight="20dip" android:background="@drawable/btn_background_login_and_offered_and_followers" android:clickable="true" android:onClick="signInButton" android:text="@string/action_sign_in_register" /> <!-- sign up button --> <TextView android:gravity="center" android:id="@+id/sign_up_button" android:layout_width="120dip" android:layout_height="50dip" android:layout_marginLeft="20dip" android:layout_toLeftOf="@id/sign_in_button" android:background="@color/Gray" android:onClick="signUpButton" android:text="@string/action_sign_up_register" /> </RelativeLayout> </LinearLayout> </ScrollView> 

如果需要其他代码部分,请告诉我添加它。

Solutions Collecting From Web of "EditText光标驻留在提示之后"

试试这个我的代码:

 android:textCursorDrawable="@null" 

这个对我有用。

尝试这个:

 android:gravity="left|center" 

据我所知,你想有波斯提示您的EditText(它应该是RTL)和LTRinput文本(如电子邮件,密码和….)

在我的应用程序中,我这样做,在XML中:

 <EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="101dp" android:ems="10" android:hint="ایمیل را وارد نمائید" > <requestFocus /> </EditText> 

在Java中:

 final EditText editTxt = (EditText) findViewById(R.id.editText2); editTxt.setGravity(Gravity.RIGHT); editTxt.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub if (editTxt.getText().length() == 0) { editTxt.setGravity(Gravity.RIGHT); } else { editTxt.setGravity(Gravity.LEFT); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); 

它给我,我的目标结果。 提示alignment在右侧,当用户开始input时,input的文本左alignment,这样光标问题也解决了:D