Вы можете сказать, что это дублируется, но это не так. На самом деле я нашел решения, но ни одно не сработало идеально. Последнее решение использовало TextInputLayout
плюс EditText
внутри него, но есть ли способ переместить кнопку переключения на другую сторону EditText
? Если нет, значит, для меня это бесполезно.
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="130dp"
android:layoutDirection="rtl"
app:passwordToggleEnabled="true">
<EditText
android:id="@+id/edlrPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:paddingRight="10dp"
android:paddingLeft="10dp"
android:layoutDirection="rtl"
android:textAlignment="viewStart"
android:inputType="textPassword"
android:maxLines="1"
android:textSize="14sp" />
</android.support.design.widget.TextInputLayout>
Опять же, проблема в том, что кнопка переключения на EditText
делает его невидимым.
Я тоже пробовал этот код:
if (b)
editText.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
else
editText.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD | InputType.TYPE_CLASS_TEXT);
Также я попробовал этот код:
if (b)
editText.setInputType(InputType.TYPE_CLASS_TEXT);
else
editText.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
Оба работают для первого изменения, а затем текст внутри EditText
остается видимым все время.
Что я должен делать? Любая помощь приветствуется.
ОБНОВЛЕНИЕ: Так что я просто заметил, что мне нужно добавить android:layoutDirection="rtl"
к TextInputLayout
! Ранее я добавил его только к editText
, что вызвало конфликт (так как TextInputLayout
был ltr
по умолчанию), из-за которого кнопка переключения закрывала editText
. Кстати, когда я помещаю свой editText
в TextInputLayout
, setTransformationMethod(new PasswordTransformationMethod())
также отлично работает, хотя он мне больше не нужен!
Спасибо всем за участие.