سلام من می خوام به تمام کنترل های activity فونت بدم یک راهش اینه که من باید در کد typeface تعریف کنم و از assetبخونم اما کار سختیه!!
ایا راهی هست که من یه کل پروژه یک فونت از ASSET بدم مثلا Irannastaqil ؟ ایا امکان پذیر هست یا نه
ممنون
سلام راه منطقی اینه که شما داخل پوشهی assets فونت و قرار دهید و در کلاسی که مربوط به تنظیمات application تون هست یک typeface تعریف کنید.و بعد در کلاس هایی که می خواهید فونت تاثیر داشته باشد از آن کلاس ارث بری کند.
یک مدل روش دیگه هم هست اینکه از یک textview استفاده نمایید وآن را تعریف کنید و بعد داخل activity آن را ارث بری کند و بعد داخل typeface آن را تنظیم می کنیم، بعد هر جا که xml ای تعریف کنید از این Textview استفاده می نماییم.
سلام
من یک جواب پیدا کردم برای خودم که عالی هم هست اول کلاس زیر رو باید ایجاد کنیم
public class FontManager { public static void markAsIconContainer(Context Con,View v) { Typeface typeface = Typeface.createFromAsset(Con.getAssets(), "Yekan.ttf"); if (v instanceof ViewGroup) { ViewGroup vg = (ViewGroup) v; for (int i = 0; i < vg.getChildCount(); i++) { View child = vg.getChildAt(i); markAsIconContainer(Con,child); } } else if (v instanceof TextView) { ((TextView) v).setTypeface(typeface); } } }
سپس
markAsIconContainer رو در هر صفحه فرخوانی کنیم
این تابع تمام Textview های صفحه رو فونت مورد نظر رو می ده نیازی نیست هر TextView رو جدا بدیم
و مشکل هم حل شد
سلام
من یک جواب پیدا کردم برای خودم که عالی هم هست اول کلاس زیر رو باید ایجاد کنیم
public class FontManager { public static void markAsIconContainer(Context Con,View v) { Typeface typeface = Typeface.createFromAsset(Con.getAssets(), "Yekan.ttf"); if (v instanceof ViewGroup) { ViewGroup vg = (ViewGroup) v; for (int i = 0; i < vg.getChildCount(); i++) { View child = vg.getChildAt(i); markAsIconContainer(Con,child); } } else if (v instanceof TextView) { ((TextView) v).setTypeface(typeface); } } }
سپس
markAsIconContainer رو در هر صفحه فرخوانی کنیم
این تابع تمام Textview های صفحه رو فونت مورد نظر رو می ده نیازی نیست هر TextView رو جدا بدیم
و مشکل هم حل شد
نحوه فراخونی
FontManager.markAsIconContainer(context, view);
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)