رفتن به مطلب
برای استفاده از انجمن و عضـویت کلیک کنید.
رئوف رضایی

تغییر فونت کل برنامه با کتابخانه کالیگرافی

پست های پیشنهاد شده

رئوف رضایی    33

گروه دانشجو

با سلام خدمت دوستان عزیز

توی این آموزش یاد میگیرید که چطور فونت کل پروژه مون رو تغییر بدیم

در راه هایی که قبلا در جاوا طی میکردیم یک typeface تعیین میکردیم و هرجا ویویی درش متن بود ف بهش فونت رو دستی میدادیم ، اما خب این کار زمان میبره و اصلا ارزش نداره بخوایم دونه دونه فونت ویو هارو تغییر بدیم

برای همین از کتابخونه کالیگرافی استفاده میکنیم ، کافیه متد این کتابخونه رو یک بار در کلسی که میخواید فونتش عوض شه قرار بدید و دیگه کار تمومه 

خب طبق اموزش پیش میریم

اول از همه تو بخش Build.gradle کد زیر رو اضافه میکنیم تا کتابخونه دانلود بشه (شیلتر فکن روشن باشه)

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

خب کتابخونه به پروژه ما اضافه شد 

توجه کنید فونتی که میخواید رو به کل برنامه بدید باید توی پوشه Assets قرار بدید ، اگر این پوشه رو ندارید روی فایل پروژتون کلیک راست کنید و روی NewDirectory بزنید و Assets رو انتخاب کنید

حالا که فولدرش ایجاد شد فونت مورد نظرتون رو توی پوشه بزارید مثلا فونت ما yekan.ttf هستش

خب حالا باید برای فونت یک کلس بنویسیم

طبق زیر عمل کنید

اول یه کلس بسازید (روی فولدر پروژه کلیک راست کنید و گزینه New Class رو بزنید)

اسم کلس رو هرچی دوست دارید میتونید بزارید ، اینجا ما گذاشتیم Font

بعدش کد زیر رو توش قرار بدید

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

اینجا ما فونت رو معرفی کردیم و گفتیم که میخوایم از فونت yekan استفاده بشه

خب حالا میریم توی manifest تا کلسمون رو معرفی کنیم ، برای اینکه برنامه از اول کلس رو بخونه و بتونه فونت کل پروژه رو عوض کنه

تو manifest تگ Application رو پیدا میکنیم 

و android:name="" رو قرار میدیم اسم کلسمون برفرض مثال اسم کلس ما Font بود پس کدش اینجوری میشه

 android:allowBackup="true"
    android:name=".Font"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"

خب کار تموم شد

حالا هرجایی که خواستید فونت بدید

کافیه متد زیر رو به اون Class اضافه کنید

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

 

امیدوارم خوشتون اومده باشه 

  • زیبا بود 1
  • پسندیدم 2

به اشتراک گذاری این ارسال


لینک به ارسال

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری

  • مطالب مشابه

    • توسط mahdi.sm
      سلام خدمت اساتید کسی با ViewType کتابخونهhitex_recyclerviewکار کرده؟ یه راهنمایی میخوام من یه ناوبار شبیه این ساختم حالا میخوام رو هر ایتم ناوبار کلیک شده اطلاعات مربوط به همون قسمت رو نمایش بده تو یه اکتیویتی همه ایناها انجام بشه با چند اداپتر ممنون میشم کسی کار کرده راهنمایی کنه

    • توسط namefree
      سلام خسته نباشید دوستان 
      من قبلا با sqlite  دیتا بیس ساختم و مشکلی نداشتم اما وقتی دوباره visual studio  نسخه  professional رو نصب کردم و extensions  مربوط به Sqlite  رو نصب کردم تا دیتا بیس بسازم قسمت مربوط به ساخت دیتا بیس خالی بود اگه کسی میتونه راهکار بده ممنون دوستان وقت گذاشتین.


    • توسط clik8000
      دوستان کس یسورس برنامه سفارش آنلاین غذا رو داره 
      میخوام واستم اختصاصی کنه
      @vahidabedini
      آیدی من تو تلگرامه 
      فقط قیمت معقول باشه 
    • توسط پژمان نیکروان
      مشاهده gif برای  اندروید های 7.1 به بالا

       
      مشاهده gif برای اندروید 7 به پایین


       
      نصب فایل APK جهت تست
      حتما دموهای بالا رو مشاهده کنید.
      توضیحات:
      1. ایجاد شورتکات(میانبر) از اکتیویتی خاص، برنامه خاص، یا اینتنت خاص با آیکن اختصاصی به صفحه اصلی - از اندروید قدیمی تا اندروید 8 به بالا
      2. حذف یا disable کردن شورتکات مورد نظر
      3. بهره‌وری از کلاس ShortCutManager خود اندروید برای 7.1 به بالا
      4. توجه کنید که این کتابخانه روی انواع گوشی ها و اندروید ها تست شده و عمل میکنه، اگر احیانا روی گوشی شما کار نکرد مربوط به لانچر گوشی میشه و خود کتابخانه مشکلی نداره. برای اینکه مطمئن بشید میتونید برنامه هایی مثل #دیوار یا #بازار که میانبر ایجاد میکنن رو تست کنید که کار میکنه یا خیر.
      قیمت: 15,000
      دریافت کتابخانه
  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×