【问题标题】:How to style hint for EditText with inputType set to textPassword in Android如何在 Android 中将 inputType 设置为 textPassword 的 EditText 样式提示
【发布时间】:2017-07-07 10:17:02
【问题描述】:
当我在 EditText 中设置 inputType=textPassword 时,hint 的文本样式会发生变化。请看这张图片:
两个 EditText 具有相同的 XML,但上面的 inputType 设置为 textPassword。
如何让它们看起来一样?
【问题讨论】:
标签:
android
android-edittext
android-styles
【解决方案1】:
以编程方式设置 Edittext 字体默认值
password.setTypeface(Typeface.DEFAULT);
【解决方案2】:
问题是文本setTypeface。
提示:默认情况下,当您将 EditText 元素设置为使用
"textPassword" 输入类型,字体系列设置为等宽,所以你
应将其字体系列更改为“sans-serif”,以便两个文本字段
使用匹配的字体样式。
更多详情请参考此链接,
Try
【解决方案3】:
在 EditText inputType 设置为 textPassword 中字体会改变
对 EditText 密码字段使用 TextInputLayout
试试这个代码:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintEnabled="false"
app:passwordToggleEnabled="true">
<EditText
android:id="@+id/input_password"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/white"
android:drawableLeft="@drawable/ic_password"
android:drawableStart="@drawable/ic_password"
android:hint="@string/password"
android:imeOptions="actionDone"
android:inputType="textPassword"
android:textColor="@color/floating_text_color_accent"
android:textSize="@dimen/text_size_small" />
</android.support.design.widget.TextInputLayout>