بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
تغییر فونت کل برنامه
وقت بخیر
چطور میتونم فونت کل برنامه رو تغییر بدم و فونت B Yekan بزارم؟؟ (فونت توی اندروید استودیو هست یا باید بهش اضافه کنم؟)
+1
0
دوست عزیز به این لینک یه سر بزن مطمئنا جوابتو میگیری لینک (9 سال پیش)
+1
0
لینک (9 سال پیش)
0
0
ممنون دوستان
(9 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
مرتضی مرادی
9 سال پیش
+2
0
ابتدا کلاس زیر رو بسازید :
import android.content.Context;
import android.graphics.Typeface;
import android.util.Log;
import java.lang.reflect.Field;
public class TypefaceUtil {
/**
* Using reflection to override default typeface
* NOTICE: DO NOT FORGET TO SET TYPEFACE FOR APP THEME AS DEFAULT TYPEFACE WHICH WILL BE OVERRIDDEN
* @param context to work with assets
* @param defaultFontNameToOverride for example "monospace"
* @param customFontFileNameInAssets file name of the font from assets
*/
public static void overrideFont(Context context, String defaultFontNameToOverride, String customFontFileNameInAssets) {
try {
final Typeface customFontTypeface = Typeface.createFromAsset(context.getAssets(), customFontFileNameInAssets);
final Field defaultFontTypefaceField = Typeface.class.getDeclaredField(defaultFontNameToOverride);
defaultFontTypefaceField.setAccessible(true);
defaultFontTypefaceField.set(null, customFontTypeface);
} catch (Exception e) {
Log.e("Can not set custom font " + customFontFileNameInAssets + " instead of " + defaultFontNameToOverride);
}
}
}
بعد کد زیر رو تو اکتیویتی اصلی وارد کنید و آدرس فونت رو بهش بدید :
TypefaceUtil.overrideFont(getApplicationContext(), "SERIF", "fonts/Roboto-Regular.ttf"); // font from assets: "assets/fonts/Roboto-Regular.ttf
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .