【发布时间】:2014-09-04 03:42:34
【问题描述】:
我有一个如下的editTextbox,需要在其中设置光标。
<EditText
android:id="@+id/editText"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:textCursorDrawable="@drawable/my_custom_cursor"
android:hint="Hello My World"/>
我试过了:
editText = (EditText) findViewById(R.id.editText);
int length = editText.getHint().length();
editText.setSelection(length/2); <-- problem
长度返回 0,因为 editText 框中不存在实际文本。 谁能告诉我如何将初始光标定位在“Hello My World”的中间?
提前感谢!
【问题讨论】:
-
记录长度,看看它是否为零,如果不是,那么它应该可以工作
-
光标已经在中间
-
您的
hint会不断变化还是固定不变? -
如果您的
hint是静态的,您可以使用editText.setPadding (int left, int top, int right, int bottom);。 -
是的,长度返回提示文本的大小,但 setSelection 方法看不到相同的内容,例如,它认为它填充了 0 长度的文本。显然提示文本与常规文本不同
标签: android android-layout android-activity