Я использую androidx.appcompat.widget.AppCompatEditText
просмотр в моем приложении для написания пароля.И я хочу заменить настоящие символы символами маркера.Для этого я использую следующий код.Вот представление
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/regPasswordEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top"
android:hint="@string/password"
android:imeOptions="actionNext"
android:inputType="textPassword"
android:lines="1"
android:maxLines="1"
android:scrollHorizontally="true"
android:textColor="@color/white"
android:textColorHint="@color/text_gray"
android:textSize="14sp"/>
И для замены символа на символ маркера я использую:
regPasswordEditText.transformationMethod = AsteriskPasswordTransformationMethod()
и класс:
public class AsteriskPasswordTransformationMethod extends PasswordTransformationMethod {
@Override
public CharSequence getTransformation(CharSequence source, View view) {
return new PasswordCharSequence(source);
}
private class PasswordCharSequence implements CharSequence {
private CharSequence mSource;
PasswordCharSequence(CharSequence source) {
mSource = source; // Store char sequence
}
public char charAt(int index) {
return '•'; // This is the important part
}
public int length() {
return mSource.length(); // Return default
}
public CharSequence subSequence(int start, int end) {
return mSource.subSequence(start, end); // Return default
}
}
}
Но когда я пишу текств поле edittext я вижу квадратные маркеры вместо круговой, как на картинке:
Как исправить эту ошибку?