如何移动光标而不移动材质edittext中的提示?

时间:2017-01-26 14:22:45

标签: android android-edittext cursor-position

我有这样一个材质字段image,但我需要像image一样替换光标而不替换提示

<android.support.design.widget.TextInputLayout
        android:id="@+id/layout_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColorHint="@color/colorTextGray"
        app:passwordToggleEnabled = "true"
        app:passwordToggleTint="@color/color_ic_visibility"
        app:passwordToggleDrawable="@drawable/ic_visibility">
        <EditText
            android:id="@+id/password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="45dp"
            android:backgroundTint="@color/colorNotSelected"
            android:hint="Пароль"
            android:inputType="textPassword"
            android:textColor="@color/colorTextGray"
            android:fontFamily="sans-serif" />
    </android.support.design.widget.TextInputLayout>

1 个答案:

答案 0 :(得分:1)

您可以使用Java将光标移动到所需位置。在您的Activity中,您可以尝试以下方法:

EditText editText = (EditText)findViewById(R.id.password);
editText.setSelection(//position);

https://developer.android.com/reference/android/text/Selection.html#setSelection(android.text.Spannable, int)

但是,仅使用提示无效,因为EditText需要内容。您可以使用以下代码创建自己的提示来解决此问题:

EditText editText = (EditText)findViewById(R.id.password);
editText.setText("Пароль");
editText.setSelection(3); // for example 3

参考:How to set focus to the text after the hint in EditText?