2016-09-08 6 views
5

Hint에 사용자 정의 서체를 설정하려고합니다. 따라서 사용자 지정 속성 MyHint과 함께 TextInputLayout의 사용자 지정 하위 클래스를 사용하고 있습니다. 이 속성 설정자는 텍스트 서식을 지정하고 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; 
      } 
     } 
    } 
관련 문제