کتابخانه Calligraphy اندروید برای تغییر فونت برنامه + aar و سورس کد

کتابخانه Calligraphy اندروید برای تغییر فونت برنامه + aar و سورس کد

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


Calligraphy، کتابخانه‌ای قدرتمند برای اندروید است که امکان تغییر فونت برنامه به فونت دلخواه را به آسانی برای شما مهیا می‌سازد. ما در این بخش از فول کده، به روش استفاده از نسخه سوم این کتابخانه می‌پردازیم. (نسخه‌های قبلی منسوخ شده‌اند)

شروع به کار

ابتدا ریپوزیتوری زیر را به لیست ریپوزیتوری‌های فایل build.gradle پروژه اضافه کنید:

dependencies {
    implementation 'io.github.inflationx:calligraphy3:3.0.0'
    implementation 'io.github.inflationx:viewpump:1.0.0'
}

حالا فونت دلخواه خود را به پوشه‌ی assets اضافه کنید. (این پوشه در مسیر src/main/ قرار دارد؛ و اگر نبود بسازید) همچنین می‌توانید داخل پوشه‌ی assets، یک پوشه با نام  fonts ایجاد کرده و فونت‌های خود را داخل آن قرار دهید.

راه اندازی

در کلاس Application، متد onCreate را اورراید کرده و آن را به صورت زیر تکمیل کنید:

@Override
public void onCreate() {
    super.onCreate();
    ViewPump.init(ViewPump.builder()
        .addInterceptor(new CalligraphyInterceptor(
                new CalligraphyConfig.Builder()
                    .setDefaultFontPath("fonts/Roboto-RobotoRegular.ttf")
                    .setFontAttrId(R.attr.fontPath)
                    .build()))
        .build());
    //....
}

همانطور که می‌بینید، از متد setDefaultFontPath برای تنظیم فونت پیشفرض استفاده شده است.


حالا در اکتیویتی مورد نظر، متد attachBaseContext را اووراید کرده و به صورت زیر تکمیل کنید:

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

فونت دلخواه

فونت دلخواه برای هر TextView

<TextView
    android:text="@string/hello_world"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    fontPath="fonts/Roboto-Bold.ttf"/>

از ویژگی fontPath استفاده شده است.

اگر IDE شما از این ویژگی خطا گرفت، مقدار tools:ignore=”MissingPrefix” را به ویو یا پدر آن ویو اضافه کنید. همچنین باید ویژگی زیر را نیز به فضای نامی XML خود در قسمت بالای فایل XML اضافه کنید:

xmlns:tools=" http://schemas.android.com/tools"

فونت دلخواه در TextAppearance

<style name="TextAppearance.FontPath" parent="android:TextAppearance">
    <!-- Custom Attr-->
    <item name="fontPath">fonts/RobotoCondensed-Regular.ttf</item>
</style>
<TextView
    android:text="@string/hello_world"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="@style/TextAppearance.FontPath"/>

فونت دلخواه در Style

<style name="TextViewCustomFont">
    <item name="fontPath">fonts/RobotoCondensed-Regular.ttf</item>
</style>

فونت دلخواه در Theme

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <item name="android:textViewStyle">@style/AppTheme.Widget.TextView</item>
</style>

<style name="AppTheme.Widget"/>

<style name="AppTheme.Widget.TextView" parent="android:Widget.Holo.Light.TextView">
    <item name="fontPath">fonts/Roboto-ThinItalic.ttf</item>
</style>

برای به دست آوردن اطلاعات بیشتر درمورد نحوه‌ی کار با این کتابخانه، می‌توانید به داکیومنت یا توضیحات کامل این کتابخانه، در این‌لینک مراجعه نمایید.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

cp-codfk

نظرات ثبت شده بدون دیدگاه

توضیحات دانلود نظرات اشتراک