2016-09-08 8 views
5

Hintにカスタム書体を設定しようとしています。したがって私はTextInputLayoutのカスタムサブクラスをカスタムプロパティMyHintで使用しています。このプロパティ設定ツールは、テキストを書式設定してFormattedTextを設定する必要がありますが、動作しません。ヒント、TextInputLayoutにカスタム書体を設定します

単にFormattedHintプロパティを設定しても、フォーマットされません。なぜこれらのアプローチが失敗しているのですか?

以下は、プロパティを持つ私のカスタムクラスを見ることができます。

例:

BaseTextInputLayout userNameInput = view.FindViewById<BaseTextInputLayout>(Resource.Id.myId); 
userNameInput.MyHint = "My Custom hint text"; 

クラス:と私はあなたのサブクラスに多くの利点が表示されない

userNameInput.Typeface = yourCustomTypeFace; 

:私はあなたが使用する必要があるだろうと思い

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; 
       } 
      } 
     } 

答えて

0

このプロパティは、確かに行うことができますが、

public class BaseTextInputLayout: TextInputLayout 
{ 
    public string MyHint 
    { 
     get 
     { 
      return Hint; 
     } 
     set { 
      if (value != null) 
      { 
       this.Typeface = yourCustomTypeFace; 
       this.Hint = value; 
      } 
      else 
      { 
       this.Hint = null; 
      } 
     } 
    } 
関連する問題