چطوری فونت تمام Widget های موجود توی اپلیکیشنمون رو کنترل کنیم

استاندارد

یه مشکلی که خیلی وقتا من رو تو پروژه‌هام اذیت میکرد تغییرات چند باره و چند باره‌ فونت widget هام  بود. مثلا فرض کنید یه پروژه رو تا انتها بردین جلو، حالا گرافیستتون یا مدیر پروژه میاد میگه اگه میشه فونت فلان جا رو عوض کن یا نمیدونم برای بعضی صفحات یه فونت دیگه ست کن. اگه توی این شرایط شما از اول پروژتون بفکر همچین سناریویی بوده‌اید که جای نگرانی نیست، ولی اگر نه باید بگم که احتمال اینکه اذیت بشید زیاده. اتفاقا همین چند روز پیش یکی از دوستام راجع به همین مسئله ازم پرسید و باعث شد این پست رو بنویسم و توش درباره این مشکل و راه‌حلی که براش استفاده میکنم بنویسم.

من این مشکل رو با استفاده از یه کتابخونه دم دستی به اسم CustomFontWidget که خودم نوشتم حل میکنم. این کتابخونه به شما این امکان رو میده که برای Widget هاتون فوفت‌های مختلفی رو ست کنید . ست کردن فونت‌ها از طریق xml هست و attribute ای به اسم customFont . همچنین شما میتونید یک فونت پایه برای پروژتون ست کنید که تمامی widget هاتون درصورتی که هیچ فونتی براشون ست نشده بود از اون استفاده کنن . فونت iran_sans هم برای استفاده در متن های فارسی به صورت default توی این کتابخونه وجود داره .

حالا بریم سراغ نحوه استفاده :

قدم اول استفاده از gradle هست .که برای این کار  فایل build.gradle توی زیر فولد app رو به شکل زیر تغیر بدین .

یا میتونید کتابخونه رو دانلود کنید و  به عنوان module به پروژتون اضافه کنید .

پس از اون توی فولدر asset پروژتون یه زیر فولدر به  اسم fonts بسازید و فونتهای مورد نظرتون رو اونتو بریزید.

screenshot1

بعد یه کلاس بسازید و از کلاس Application ارث ببرید . سپس متدهای  createFont و setDefaulFont رو صدا کنید.

متد creatFont یک بار فراخوانی میشه و فونتهایی که توی asset ریخته شده باشه رو لود میکنه. و با متد setDeafultFont میتونید یک فونت default برای تمام widget هایی که توی پروژتون استفاده میکنید ست کنید.

توی مرحله بعد این کلاس رو بعنوان application توی AndroidManifest مون ست میکنیم.

و در اخر هم میرسیم به نحوه استفاده از این widget ها.

بجای هر کدوم از widget های اندروید widget مشابهی وجود داره که ما باید از اونها استفاده کنیم مثل زیر.

توی این کتابخونه Widget های CTextView , CEditText , CRadioButton , CButton , CCheckBox وجود داره که میتونید مثل بالا از هرکدوم که خواستید استفاده کنید.

لینک دانلود library

نمایی از چیزی که در اخر خواهیم داشت .

Screenshot_2015-09-23-15-35-41

4 دیدگاه در “چطوری فونت تمام Widget های موجود توی اپلیکیشنمون رو کنترل کنیم

پاسخ دهید

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