EditText password = (EditText) view.findViewById(R.id.etPassword);
if (Build.VERSION.SDK_INT != android.os.Build.VERSION_CODES.KITKAT) {
Typeface typeface = TypefaceUtil.overrideFont(getContext(), "SERIF", "fonts/calibri.ttf");
password.setTypeface(typeface);
}
这是TextInputLayout
<android.support.design.widget.TextInputLayout
android:id="@+id/inpPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/button_margin_small">
<android.support.design.widget.EditText
android:id="@+id/etPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:hint="@string/set_pass"
android:inputType="textPassword"
android:maxLength="@integer/pass_max"
android:maxLines="1"
android:password="true"
android:singleLine="true" />
</android.support.design.widget.TextInputLayout>
我正在尝试使用此代码,但我的密码提示字体样式与我设置的不同。
答案 0 :(得分:8)
添加到此,当iandroid:inputType =“textPassword”被删除并添加app:passwordToggleEnabled =“true”时,它会起作用
<android.support.design.widget.TextInputLayout
android:id="@+id/inpPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/button_margin_small"
app:passwordToggleEnabled="true">
<EditText
android:id="@+id/etPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/set_pass"
android:maxLength="@integer/pass_max"
android:maxLines="1"
android:singleLine="true" />
</android.support.design.widget.TextInputLayout>
EditText password = (EditText) view.findViewById(R.id.etPassword);
password.setTypeface(Typeface.DEFAULT);
password.setTransformationMethod(new PasswordTransformationMethod());
答案 1 :(得分:3)
使用android:fontFamily="sans-serif"
答案 2 :(得分:3)
尝试一下
<Edittext
android:id="@+id/edtPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:inputType="text"
android:textSize="14sp" />
在您的edittext xml中设置android:inputType="text"
。
在Java文件中设置edtPassword.setTransformationMethod(new PasswordTransformationMethod());
。
以自定义字体为edittext为我工作。
答案 3 :(得分:2)
嘿,如果有人在使用kotlin,我希望这段代码对您有帮助,对我有用。我在用着
com.google.android.material.textfield.TextInputLayout
和androidx.appcompat.widget.AppCompatEditText
在科特林:
// find the view
val etPassword = view.findViewById<AppCompatEditText>(R.id.etPassword)
// set the typeface to your choice
etPassword.typeface = Typeface.SANS_SERIF
// the set its transformationMethod to PasswordTransformationMethod
etPassword.transformationMethod = PasswordTransformationMethod()
这是我的xml:
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tilPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:passwordToggleEnabled="true">
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/etPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</com.google.android.material.textfield.TextInputLayout>
答案 4 :(得分:1)
我也面临这个问题。
你必须尝试这种方式,你才能得到解决方案。
XML代码
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:id="@+id/password_text"/>
Java代码
EditText password = (EditText) findViewById(R.id.password_text);
password.setTypeface(Typeface.DEFAULT);
password.setTransformationMethod(new PasswordTransformationMethod());
希望这会对你有帮助......
答案 5 :(得分:0)
我发现当输入类型为textPassword时,我的Edittext的字体样式不同。通过使用fontFamily属性修复此问题。
以下是我在布局中使用的代码:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:hint="My Password hint"
android:inputType="textPassword" />