برای جستجو کلمه مورد نظر خود را وارد کنید

به نام خدا
سلام ، امروز قراره یکی از برترین کتابخانه های موجود برای تغییر فونت کل برنامه که تونسته در گیتاب بیش از ۴ هزار ستاره رو کسب کنه معرفی کنیم .
این کتابخانه به ما کمک میکنه که به راحتی فونت مورد نظرمون برای کل برنامه ست کنیم . 
این کتابخانه امکانات متعددی رو داره که با مراجعه با این لینک میتونید همه ی اونها رو مطالعه کنید : 

Calligraphy 

در این قسمت سعی داریم که آموزش استفاده از این کتابخانه برای تغییر فونت کل برنامه رو آموزش بدیم :
برای قدم اول کتابخانه رو به پروژه اضافه میکنیم :
برای این کار ، این خط رو داخل فایل build.gradle پروژه اضافه کنید : 

compile 'uk.co.chrisjenx:calligraphy:2.2.0'

 

توصیه میشه برای اینکه در افزودن کتابخانه اختلالی پیش نیاد قسمت Project structure تون رو به این صورت تغییر بدید : 

 

Project Structure

 

حال فونت مورد نظرمون رو در پوشه ی assets قرار میدیم ( اگه این پوشه رو ندارید میتونید اون رو بسازید ) : 

File New Folder AssetsFolder 

 

پس از اون باید کلاس جداگانه ای رو برای تغییر فونت برنامه بسازیم که توی اون فونت رو معرفی میکنیم ، مثلا کلاسی به اسم Font رو میسازیم و اون رو extends میکنیم از Application و داخل اون این کد ها رو اضافه میکنیم : 

@Override
public void onCreate() {
super.onCreate();
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
.setDefaultFontPath("Font.ttf")
.setFontAttrId(R.attr.fontPath)
.build()
);
}

 

توجه داشتید باشید که اگه شما در پوشه ی assets پوشه ی دیگری مثلا یه اسم font ساختید و فونت مورد نظرتون رو درون اون قرار دادید ، کافیه که در کد بالا محل فونت رو اینطور بنویسید : 

.setDefaultFontPath("font/Font.ttf")

پس اون باید این کلاس رو در تگ Application در manifest معرفی کنیم : 

android:name=".Font"

 

و در آخر هرصفحه ی رو که میخوایید فونت اون تغییر کنه ، در کلاس اون صفحه این کد رو وارد کنید : 

@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}

 

امیداوریم آموزش برای شما مفید بوده باشه ، موفق باشید (: