coco 1,746 ارسال شده در 4 فروردین، 2016 اشتراک گذاری ارسال شده در 4 فروردین، 2016 سلام تو این آموزش میخوایم تمام ویو هایی که فونت هاشون قابل تعویض هست رو بصورت یکجا فونتشون رو تغییر بدیم! **منبع : اسفندونه** قدم اول : افزودن کتابخانه به پروژه تون داخل فایل build.gradle پروژه تون اضافه کنید: dependencies { compile 'uk.co.chrisjenx:calligraphy:2.1.0' } قدم دوم : فونت مورد نظرتون رو داخل پوشه assets (اگه ندارید بسازیدش) بزارید. قدم سوم : حالا یه کلاس بسازید داخل پکیج اصلیتون و اون رو از Application مشتق بگیرید سپس داخل متد onCreate ش فونت مدنظرتون که میخواید پیش فرض همه ویوها قرار بگیره رو تعریف کنید: public class teif extends Application { @Override public void onCreate() { super.onCreate(); CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() .setDefaultFontPath("iransans.ttf") .setFontAttrId(R.attr.fontPath) .build() ); } } ! teif نامی هست که من برای کلاسم انتخاب کردم و کاملا اختیاری هست. !از اونجا که من فونت رو مستقیما داخل assets قرار دادم فقط نام فونت رو گذاشتم اگه داخل پوشه هست باید نام پوشه هم بدید مثلا: "fonts/Roboto-RobotoRegular.ttf" داخل فایل منیفست بشید و کلاستون رو تعریف کنید،طبق زیر عمل کنید: <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" android:name=".teif" > .... منظورم android:name=”.teif” هست، نام کلاسی که از اپلیکیشن مشتق شده. قدم چهارم : حالا داخل اکتیویتی هاتون کد زیر رو بزارید: @Override protected void attachBaseContext(Context newBase) { super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase)); } حالا داخل لایه xml این اکتویتی هر ویویی بزارید فونتش رو تغییر میده. البته این کتابخونه امکان تعریف چندین فونت و استفاده از اونا به راحتی هم داره که آموزش داده داخل گیتهاب ولی فکر میکنم نکته ای که آموزش دادم مهمترین کاربردش هست. مشاهده کتابخانه در گیت هاب: ******* عذر میخوام که خودم آموزش رو تهیه نکردم... چون واقعا وقت نداشتم! ******* موفق باشید... لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.