Ich versuche, eine benutzerdefinierte Schriftart auf Hint
von TextInputLayout
festzulegen. Daher verwende ich eine benutzerdefinierte Unterklasse von TextInputLayout
mit einer benutzerdefinierten Eigenschaft MyHint
. Dieser Property Setter sollte den Text formatieren und die FormattedText
setzen, aber es funktioniert nicht.Legen Sie benutzerdefinierte Schriftart auf Tipp, TextInputLayout
Wenn ich einfach die FormattedHint
Eigenschaft festlegen, formatiert es auch nicht. Weiß jemand, warum diese Ansätze scheitern?
Unten können Sie meine benutzerdefinierte Klasse mit Eigenschaft sehen.
Beispiel:
BaseTextInputLayout userNameInput = view.FindViewById<BaseTextInputLayout>(Resource.Id.myId);
userNameInput.MyHint = "My Custom hint text";
Klasse:
public class BaseTextInputLayout: TextInputLayout
{
public string MyHint
{
get
{
return Hint;
}
set {
if (value != null)
{
SpannableStringBuilder builder = new SpannableStringBuilder(value);
builder.SetSpan(new CustomTypeFaceSpan("", Constants_Android.TYPEFACE_YOGA_MET_EVY_CUSTOMFONT), 0, builder.Length(), SpanTypes.InclusiveExclusive);
this.HintFormatted = builder;
}
else
{
this.HintFormatted = null;
}
}
}