2017-09-14 7 views
-2

Je veux taper le numéro de téléphone en persan dans android EditText. J'ai mis la police Farsi pour éditer le texte mais cela n'a pas fonctionné. J'ai aussi beaucoup cherché, mais tous ont discuté de définir la police Farsi à texte statique dans Textview ne pas taper EditText. Comment puis-je atteindre cet objectif ? Mercine peut pas taper le nombre persan en android modifier le texte

Répondre

2

Essayez ceci:

public class CustomFontEditText extends EditText { 


private Context context; 
private AttributeSet attrs; 
private int defStyle; 

public CustomFontEditText(Context context) { 
    super(context); 
    this.context=context; 
    init(); 
} 

public CustomFontEditText(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     this.context=context; 
     this.attrs=attrs; 
     init(); 
} 

public CustomFontEditText(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
     this.context=context; 
     this.attrs=attrs; 
     this.defStyle=defStyle; 
     init(); 
} 

private void init() { 
     Typeface font=Typeface.createFromAsset(getContext().getAssets(), "fonts/myfont.ttf"); 
     this.setTypeface(font); 
} 
@Override 
public void setTypeface(Typeface tf, int style) { 
    tf=Typeface.createFromAsset(getContext().getAssets(), "fonts/farsi.ttf"); 
    super.setTypeface(tf, style); 
} 

@Override 
public void setTypeface(Typeface tf) { 
    tf=Typeface.createFromAsset(getContext().getAssets(), "fonts/farsi.ttf"); 
    super.setTypeface(tf); 
} 

REMARQUE:

Remplacez farsi.ttf avec le nom de la police et utiliser CustomFontEditText au lieu de défaut EditText dans votre xml