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

تنظیم فونت پیش فرض به صورت Style

Mostafa Sabzi Sarvestani  12 سال پیش  12 سال پیش
+7 0

مجددا سلام

تویه برنامه من بیشتر از 500 تا text  استفاده شده

نمی دونم از style چطوری میشه استفاد کرد فقط تویه جواب ها سرچ کردم دیدم که یکی از راه های تغییر فونت اینه

سوالم اینه :

چطوری می شه فونت پیش فرضی رو که نرم افزار های اندورید ازش استفاده می کنند تغییر داد

می خوام با ین کار زحمت تعریف استایل یا تغییر فونت   500   تا  text   رو نداشته باشم

مرسی

0 0
این سوال منم هست . خوشحال میشم یکی جواب بده (12 سال پیش)
+1 0
تعریف استایل ها و بسیاری دیگه از کارهای مفید هم اکنون تدوین شده و به زودی آپلود و قابل مطالعه است. در خصوص تغییر فونت متأسفانه جز راه دستی راهی وجود نداره چون Typeface یک کلاس است اما در خصوص سایر خصوصیات Text استایل ها قابل استفاده هستند. (12 سال پیش)
0 0
ممنون (12 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
h_uk2009  12 سال پیش
+4 0

ببین بستگی داره ساختار تکست هات چیه چون من نمیدونم ولی این کارو میتونی بکنی
1- اگه تکست هات رو داینامیک تولید میکنی و همون لحظه روی صفحه نمایش میدی که مشکل خاصی نیست کافیه کد text.settextsize رو بزنی و تکست ها رو با یک حلقه سایزشون رو ست کنی
2- اگه تکست ها هر کدوم توی یک اکتیویتی و یک لایه خاصی هستند باید این کارو بکنی که راه سخت تر و زمان گیرتری هست
این تکه کدیه که خودم میزنم تا تکست هام رو ست کنم سریع این کد کمک میکنه که حتی اگه توی یک لایه نمیدونی متن یا عکس کد خودش چک کنه و اگه از جنس تکست هست اونا رو خصوصیاتشو ست میکنه .. نحوه استفاده از استایل رو وقت ندارم بت بگم وقت بشه توی همین پست برات مینویسم ! اما این به کارت میاد بزننننننننن لایکووووووووو !

    for (int i = 0; i < container.getChildCount(); i++)
{
View getchid = container.getChildAt(i);
if (getchid instanceof TextView) // اگه نوع ویویی که میگیری از جنس متنی و تکست هست فونتشو عوض کن
{
((TextView) getchid).setTypeface(G.face);
((TextView) getchid).setTextSize(25);
// ((TextView) getchid).setLineSpacing(50, 0);

}

}
0 0
آفرین. فقط شاید بهتر باشه که اگر getchild هم یک Viewgroup بود به صورت Recursive داخلش هم جستجو و پردازش بشه. دقیقاً همین متد رو در یکی از سئوالات نوشته ام. ( سئوال Alu جان بود ) (12 سال پیش)
0 0
ممنون حسین جان. (12 سال پیش)
پاسخ به سوال 
PandaStudio  12 سال پیش
+6 0

سلام

من خودم از این متد استفاده میکنم

 private void overrideFonts(final Context context, final View v) {
        try {
            if (v instanceof ViewGroup) {
                ViewGroup vg = (ViewGroup) v;
                for (int i = 0; i < vg.getChildCount(); i++) {
                    View child = vg.getChildAt(i);
                    overrideFonts(context, child);
                }
            } else if (v instanceof TextView) {
                ((TextView) v).setTypeface(Typeface.createFromAsset(context.getAssets(), "bkoodak.ttf"));//bkoodak is my font
            }
        }
        catch (Exception e) {}
    }
0 0
میشه بیشتر درباره متدت توضیح بدی؟ دقیقا ورودی‌ها رو چی باید تعریف کرد؟ آیا تمام TextViewها رو شناسایی میکنه یا باید دستی بهش معرفی کنم؟! (12 سال پیش)
0 0
تو این روش فقط کافیه لایه پدرجد(!)(D:) همه کنترل ها رو به این متد معرفی کنی(منظورم بالاترین لایه است که بقیه کنترل ها رو شامل شده) و خودش تمامی اجزای داخلی رو پیدا و typeface شون رو تنظیم میکنه (12 سال پیش)
0 0
بله ، این روش رو تست کردم ، استاد آقاجانی عزیز راهنمایی کردند :) (12 سال پیش)
پاسخ به سوال 
h_r_v  12 سال پیش
+3 0

راهی که من استفاده میکنم اینه:‌
یه کلاس به اسم MyTextView به شکل زیر بساز:

 	public class MyTextView extends TextView{

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

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

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

private void initialize() {
if (!isInEditMode()) {
// اینجا میتونی typeface تعریف کنی
}
}}

بعد برو توی layout ها محتویات هر کدوم رو دونه دونه کپی کن توی برنامه Notepad++ و عبارت <TextView رو با عبارت <com.example.package.MyTextView جایگزین کنید که به جای اون عبارت اسم پکیج رو بزارید، اینجوری هر چه تغییر توی فایل MyTextView بدید در کل TextView ها اعمال میشه!

 

0 0
روشی خیلی خوبیه ، اما نمیشه موقع Cast کردن به MyTextView که ساختیم Cast کنیم ؟! ، فکر کنم بشه ! (12 سال پیش)
0 0
داداش میشه بیشتر توضیح بدی قسمت لیوت هارو؟ (12 سال پیش)

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