ورود با اکانت گوگل
یا
آقای متریال

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

کتاب خانه ی اندرویدی Calligraphy | تغییر فونت کل برنامه

rouhollah.mz


اطلاعات نویسنده
پشتیبانی
برای دیدن اطلاعات تماس تهیه کننده این محصول باید محصول رو خریداری کرده باشید

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

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));
}

 

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

دیدگاه هایی که برای این مطلب ارسال شده

  1. ﻧﻮﯾﺴﻨﺪﻩ ﺩﯾﺪﮔﺎﻩ: mahsa مرداد ۱۶, ۱۳۹۵

    من هنوز استفاده نکردم ولی عالیه به نظرم

    • ﻧﻮﯾﺴﻨﺪﻩ ﺩﯾﺪﮔﺎﻩ: Rouhollah.Mz مرداد ۱۶, ۱۳۹۵

      سلام
      بله ، از بهترین روش ها برای تغییر فونت برنامه هست .

  2. ﻧﻮﯾﺴﻨﺪﻩ ﺩﯾﺪﮔﺎﻩ: وحید مرداد ۲۹, ۱۳۹۵

    @Override
    protected void attachBaseContext(Context newBase) {
    super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
    }
    این قسمت رو که تو اکتیویتی مورد نظر کپی میکنم ارور میده…cannot resolve synbol Context

  3. ﻧﻮﯾﺴﻨﺪﻩ ﺩﯾﺪﮔﺎﻩ: وحید مرداد ۲۹, ۱۳۹۵

    اشتباهاً تو متد onCreate کپی میکردم..مشکل حل شد

  4. ﻧﻮﯾﺴﻨﺪﻩ ﺩﯾﺪﮔﺎﻩ: حسین شهریور ۱, ۱۳۹۵

    چه طور میشه به یه برنامه ، سه تم بدیم و کاربر بتونه تم مورد نظر رو انتخاب کنه

    • ﻧﻮﯾﺴﻨﺪﻩ ﺩﯾﺪﮔﺎﻩ: Rouhollah.Mz شهریور ۲, ۱۳۹۵

      سلام
      این لینک به شما کمک خواهد کرد :
      <a href="https://github.com/codepath/android-theme-switcher">android-theme-switcher</a>

  5. ﻧﻮﯾﺴﻨﺪﻩ ﺩﯾﺪﮔﺎﻩ: رضا شهریور ۴, ۱۳۹۵

    من اضافه کردم فورس کلوز میده
    اون متد رو توی کلاس اکتویتی گذاشتم بعدش توی onCreate فراخوانی کردم و بهش this رو معرفی کردم. یه کانتکست میخواد دیگه درسته؟ خطای کار من کجاست؟
    attachBaseContext(this)

    • ﻧﻮﯾﺴﻨﺪﻩ ﺩﯾﺪﮔﺎﻩ: Rouhollah.Mz شهریور ۴, ۱۳۹۵

      سلام
      دقیقا کدوم متد رو توی کلاس گذاشتید و توی onCreate فراخوانی کردید ؟

      لطفا یکبار دیگه آموزش رو مرور کنید .

      • ﻧﻮﯾﺴﻨﺪﻩ ﺩﯾﺪﮔﺎﻩ: رضا شهریور ۵, ۱۳۹۵

        من این لینک رو توی کلاس اکیتیویتی گذاشتم:
        @Override
        protected void attachBaseContext(Context newBase) {
        super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
        }

        و بعدش توی onCreate اومدم attachBaseContext(this) رو نوشتم. خب از اون کلاس فونت و این متد باید چجوری استفاده بشه توی هر اکتیویتی؟

        • ﻧﻮﯾﺴﻨﺪﻩ ﺩﯾﺪﮔﺎﻩ: Rouhollah.Mz شهریور ۵, ۱۳۹۵

          سلام
          هیچ جای آموزش گفته نشده که شما attachBaseContext(this) در onCreate بنویسید !

          لطفا طبق آموزش برید جلو و از اول آموزش رو بخونید ، اصلا کاری نداره این کتابخانه …

شما هم دیدگاهی برای این مطلب ارسال کنید

مطالب مرتبط

مطالب تصادفی

لوگوی دوستان

هایپر تمپ | HyperTemp