آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

اعمال فونت بر روی همه ی تکست ها

Web/Mobile  10 سال پیش  10 سال پیش
+2 0

برای اعمال شدن فونت مورد نظرم توی اپلیکیشن، مجبورم برای هر تکست یه ایدی بدم و کد زیر رو توی هر اکتیویتی بیارم :

TextView matn = (TextView) findViewById(R.id.matn);
Typeface tf4 = Typeface.createFromAsset(getAssets(),"font/font.ttf"); matn.setTypeface(tf4);

خب مطمئنا چیز مسخره ای هست این راه، و باعث میشه حجم برنامه بره بالا !

یه راهی بگید که فونت مورد نظرم روی همه ی تکست ها اعمال بشه ..

فکر کنم باید یه اکتیویتی ایجاد کنم که همه فونت ها اونجا باشه .. بعد اکتیویتی رو صدا کنم توی هر اکتیویتی دیگه ؟

ممنونم بابت راهنماییتون..

البته روش زیر هم هست :

 android:fontFamily="@array/font"
+2 0
راه های زیادیه مثلا کاستوم کنترل بسازی همه تغییرات رو از جمله فونت بدی و اونو به جای تکست ویو ها استفاده کنی (آموزشهای آقای کاشی زاده کمکت میکنه) - یا از کتابخونه استفاده کنی (مثلا caligraphy) - کلاس ها رو ارث بری کنی و فونت ها رو تو یک کلاس اصلی تعیین کنی - از ریفلکشن استفاده کنی ... ولی فکر نکنم حجم برنامه بره بالا (10 سال پیش)
+1 0
لینک (10 سال پیش)
0 0
@کاشی زاده. ممنون .. هم کد شما و هم کد هایی که خودم تست کردم برای اکتیویتی های "اینکلود" شده جواد نداد ! (10 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
sh.khaksar  10 سال پیش
+6 0

شما یه کاستوم تکست ویو بساز و توی فایل XML به جای تکست ویو معمولی، آدرس تکست ویو خودت رو بده، مثالش رو هم قرار میدم:

 public class Textview extends TextView {

public Textview(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
initialize();
}


public Textview(Context context, AttributeSet attrs) {
super(context, attrs);
initialize();
}


public Textview(Context context) {
super(context);
initialize();
}


private void initialize() {
if ( !isInEditMode()) {
Typeface face = Typeface.createFromAsset(getContext().getAssets(),
"font.ttf");
setTypeface(face);
}
}
}

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .