我知道这个问题很多次。但是没有一个例子对我有用
我想通过XML文件在中心设置光标位置
我怎样才能做到这一点??
我当前的光标位置如下图所示。
我的XML文件代码如下
.XML文件
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<EditText
android:id="@+id/sigupDisplayName"
style="@style/editTextStyle"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@drawable/edittext_style"
android:ems="10"
android:gravity="center"
android:hint="@string/display_name" >
<requestFocus />
</EditText>
</LinearLayout>
答案 0 :(得分:3)
我现在发现了什么是主要问题...
问题出在API级别..
我更改了程序的API级别。
在API 15下面,光标设置在我的应用程序的中心..
从API 16开始,光标位置设置为提示文本的开始... !!!
答案 1 :(得分:1)
尝试下面的edittext而不是你的。这对你有用
<EditText android:id="@+id/sigupDisplayName"
android:layout_width="match_parent"
android:layout_height="40dp"
android:ems="10"
android:gravity="center"
android:hint="@string/display_name" >
编辑删除提示,您将在editText的中间看到它。
答案 2 :(得分:0)
试试这个:
your_edit_text.setText("bla-bla-bla");
int position = your_edit_text.length();
Editable text = your_edit_text.getText();
Selection.setSelection(text, position / 2);
或者这个:
your_edit_text.setSelection(position / 2)
如果鞋面不起作用,请尝试这个:
your_edit_text.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
your_edit_text.setSelection(your_edit_text.getText().length() / 2);
return false;
}
});
或者这个:
yourEditText.requestFocus(Your_Text.length()/ 2);
答案 3 :(得分:0)
试试这个
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/edittext_style"
android:gravity="center"
android:orientation="vertical" >
<EditText
android:id="@+id/sigupDisplayName"
style="@style/editTextStyle"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:gravity="center"
android:hint="@string/display_name" >
</EditText>
</LinearLayout>
答案 4 :(得分:0)
使用TextInputLayout可以正常使用提示。
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:hint="Email"
android:gravity="center"
/>
</android.support.design.widget.TextInputLayout>