
آموزش تغییر فونت در اپلیکیشن
یکی از خسته کننده ترین کارها توی برنامه نویسی اندروید، عوض کردن فونت قسمت های مختلف برنامست. خوشبختانه برای ساده تر و البته لذت بخش تر کردن این کار کتابخانه ای به اسم Calligraphy ساخته شده که در این مطلب قصد داریم آموزش کار با اون رو یاد بگیریم.
۱) اضافه کردن به Dependencies
برای اولین قدم کافیه کد زیر رو به قسمت dependencies در فایل گریدل برنامه اضافه کنیم
1 2 3 |
dependencies { compile 'uk.co.chrisjenx:calligraphy:2.3.0' } |
۲) اضافه کردن فونت ها
توی اندروید استودیو ابتدا روی پوشه ی app کلیک راست کرده و New > Folder > Assets Folder رو انتخاب می کنیم. در صفحه ی باز شده دکمه ی OK رو می زنیم. حالا توی دایرکتوری تازه ایجاد شده ی assets، دایرکتوری دیگه ای به اسم fonts می سازیم و فونت هایی که می خوایم توی برنامه استفاده کنیم رو داخل اون منتقل می کنیم.
۳) بازسازی کلاس Application
کلاس جدیدی از جنس Application می سازیم و کد زیر رو توی اون قرار میدیم
1 2 3 4 5 6 7 8 9 10 |
@Override public void onCreate() { super.onCreate(); CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() .setDefaultFontPath("fonts/Roboto-RobotoRegular.ttf") .setFontAttrId(R.attr.fontPath) .build() ); } |
به عنوان مثال من کلاسی به این صورت می سازم
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import android.app.Application; import uk.co.chrisjenx.calligraphy.CalligraphyConfig; public class CustomApplication extends Application { @Override public void onCreate() { super.onCreate(); CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() .setDefaultFontPath("fonts/irsansnum.ttf") .setFontAttrId(R.attr.fontPath) .build() ); } } |
حالا باید کلاس اپلیکیشن تازه ساخته شده رو به فایل منیفست و در داخل تگ application قرار بدیم. به عنوان مثال:
1 2 3 4 5 |
<application // android:name=".CustomApplication" // > |
۴) استفاده در اکتیویتی مورد نظر
خیلی ساده کافیه داخل هر اکتیویتی کد زیر رو قرار بدیم:
1 2 3 4 |
@Override protected void attachBaseContext(Context newBase) { super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase)); } |
به صورت عمومی به این روش میشه استفادش کرد اما اگر دوست داشته باشید کمی حرفه ای تر با اون کار کنید پیشنهاد می کنم حتما سری به صفحه ی پروژه در گیت هاب بزنید.