2016-09-08 11 views
5

मैं TextInputLayout के Hint पर कस्टम टाइपफ़ेस सेट करने का प्रयास कर रहा हूं। इसलिए मैं एक कस्टम प्रॉपर्टी MyHint के साथ TextInputLayout का एक कस्टम उप-वर्ग का उपयोग कर रहा हूं। इस प्रॉपर्टी सेटर को टेक्स्ट प्रारूपित करना चाहिए और FormattedText सेट करना चाहिए लेकिन यह काम नहीं करता है।संकेत पर कस्टम टाइपफेस सेट करें, TextInputLayout

यदि मैं बस 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; 
       } 
      } 
     } 

उत्तर

0

मुझे लगता है कि आप का उपयोग करने की आवश्यकता होगी:

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; 
      } 
     } 
    } 
संबंधित मुद्दे