Everybody can use this code :
public static void overrideFonts(final Context context, final View v, String fonts) {
try {
if (v instanceof ViewGroup) {
ViewGroup vg = (ViewGroup) v;
for (int i = 0; i < vg.getChildCount(); i++) {
View child = vg.getChildAt(i);
overrideFonts(context, child, fonts);
}
}else if (v instanceof EditText) {
((EditText) v).setTypeface(Typeface.createFromAsset(context.getAssets(), fonts));
}else if (v instanceof Button) {
((Button) v).setTypeface(Typeface.createFromAsset(context.getAssets(), fonts));
}else if (v instanceof TextView) {
((TextView) v).setTypeface(Typeface.createFromAsset(context.getAssets(), fonts));
}else if (v instanceof SwitchCompat) {
((SwitchCompat) v).setTypeface(Typeface.createFromAsset(context.getAssets(), fonts));
}else if (v instanceof AppCompatEditText) {
((AppCompatEditText) v).setTypeface(Typeface.createFromAsset(context.getAssets(), fonts));
}else if (v instanceof Spinner) {
((AppCompatEditText) v).setTypeface(Typeface.createFromAsset(context.getAssets(), fonts));
}else if (v instanceof AppCompatButton) {
((AppCompatEditText) v).setTypeface(Typeface.createFromAsset(context.getAssets(), fonts));
}
} catch (Exception e) {
e.printStackTrace();
}
}