Установить пользовательский шрифт на подсказку, TextInputLayout
Я пытаюсь установить пользовательский шрифт на Hint
из TextInputLayout
, Поэтому я использую пользовательский подкласс TextInputLayout
с пользовательским свойством MyHint
, Этот установщик свойства должен отформатировать текст и установить FormattedText
но это не работает
Если я просто установлю FormattedHint
свойство это также не форматирует. Кто-нибудь почему эти подходы терпят неудачу?
Ниже вы можете увидеть мой пользовательский класс со свойством.
Пример:
BaseTextInputLayout userNameInput = view.FindViewById<BaseTextInputLayout>(Resource.Id.myId);
userNameInput.MyHint = "My Custom hint text";
Учебный класс:
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;
}
}
}
1 ответ
Я думаю, что вам нужно будет использовать:
userNameInput.Typeface = yourCustomTypeFace;
Я не вижу большой пользы для вашего подкласса с этим свойством, хотя вы наверняка могли бы сделать:
public class BaseTextInputLayout: TextInputLayout
{
public string MyHint
{
get
{
return Hint;
}
set {
if (value != null)
{
this.Typeface = yourCustomTypeFace;
this.Hint = value;
}
else
{
this.Hint = null;
}
}
}