Android EditText для пароля с Android: подсказка
Просто заметил, что android: пароль устарел, и мы должны использовать android: inputType. Экспериментировал с этим, установив в моем XML
android:inputType="textPassword"
На самом деле это ведет себя как
android:password="true"
для EditText, но кажется, что если я использую android: inputType, подсказка android: не будет работать. EditText будет пустым. Нет таких проблем при использовании android: пароль с android: подсказка. Я что-то здесь упускаю из-за Android:inputType?
9 ответов
Просто наткнулся на ответ. android:inputType="textPassword"
работает с android:hint
, такой же как android:password
, Разница лишь в том, когда я использую android:gravity="center"
, подсказка не покажет, если я использую android:inputType
, Дело закрыто!
Подсказка отображается правильно с
android:inputType="textPassword"
а также
android:gravity="center"
если вы установите также
android:ellipsize="start"
Вот твой ответ. Мы можем использовать оба одновременно. Как я использовал оба, и они работают нормально. Код выглядит следующим образом:
<EditText
android:id="@+id/edittext_password_la"
android:layout_below="@+id/edittext_username_la"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="15dip"
android:inputType="textPassword"
android:hint="@string/string_password" />
Это поможет вам.
У меня была такая же проблема, и я нашел решение:
Предыдущий код:
<EditText
android:layout_height="wrap_content"
android:gravity="center"
android:inputType ="password"
android:layout_width="fill_parent"
android:id="@+id/password"
android:hint="password"
android:maxLines="1">
</EditText>
Решение:
<EditText
android:layout_height="wrap_content"
android:gravity="center"
android:password="true"
android:layout_width="fill_parent"
android:id="@+id/password"
android:hint="password"
android:maxLines="1">
</EditText>
Предыдущий код не показывает "подсказку", но когда я изменил его на последний, он начал показывать...
надеюсь, что это будет полезно для кого-то...
Текст подсказки не выделен жирным шрифтом, я стараюсь ниже код.
Когда я меняюсь inputtype=email
другой текст редактирования выделен жирным шрифтом. Но когда я меняю тип входа на password
Подсказка нормальная.
Мне нужен текст подсказки, чтобы быть жирным, мой код:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="56dp"
app:theme="@style/Widget.Design.TextInputLayout"
>
<EditText
android:id="@+id/login_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:textStyle="bold"
android:inputType="textPassword"
android:textColor="@color/White"
style="@style/Base.TextAppearance.AppCompat.Small"
android:drawableLeft="@drawable/ic_password"
android:drawablePadding="10dp"
/>
</android.support.design.widget.TextInputLayout>
Если вы установите
android:inputType="textPassword"
это свойство, и если вы предоставите число в качестве примера пароля "1234567", он примет его как "123456/", седьмой символ не будет принят. Вот почему вместо этого подхода
android:password="true"
свойство, которое позволяет вводить любой тип пароля без каких-либо ограничений.
Если вы хотите предоставить подсказку использовать
android:hint="hint text goes here"
пример:
android:hint="password"
Вот ваш ответ:
Есть разные категории для inputType
так что я использовал для pssword это textPaswword
<EditText
android:inputType="textPassword"
android:id="@+id/passwor"
android:textColorHint="#ffffff"
android:layout_marginRight="15dp"
android:layout_marginLeft="15dp"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:hint="********"
/>
На самом деле, я обнаружил, что если вы поместите android:gravity="center" в конец вашей строки xml, текст подсказки будет хорошо отображаться с android:inputType="textVisiblePassword"
android:hint="Введите ваш вопрос" или что-то вроде этого должно работать. Я использую Относительный макет с EditText, как если вы хотите использовать пароль, скажем, android:inputType="textPassword" для скрытия символов и "textVisiblePassword" для отображения того, что вы вводите в качестве пароля.