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

آموزش تغییر فونت کل برنامه

h_r_v  10 سال پیش  10 سال پیش
+25 0

سلام! یکی از دوستان خواست منم تا اونجایی که علم دارم آموزشش رو میزارم!

میریم سر اصل مطلب :
1. یک کلاس به نام 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()) {
// اینجا میتونید تغییر فونت بدید!

}
}}

بعد به layout برید! TextView ها رو از این شکل :

 <TextView
android:id="@+id/about1txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center|top"
android:textSize="30sp" />

به این شکل در بیارید( یعنی واژه TextView رو با آدرس MyTextView یی که ساختید عوض کنید) :

 <com.sample.package.MyTextView
android:id="@+id/about1txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center|top"
android:textSize="30sp" />

بعد هر کاری در MyTextView در اون قسمتی که مشخص شده انجام بدید، روی کل TextView هایی که به MyTextView به شکل بالا نسبت داده شدن اعمال میشه! حالا میتونید فونت تعریف کنید، اندازه رو عوض کنید، با preferences کار انجام بدید و ....

0 0
الان بخوایم تغییر سایز بدیم سا تغییر فونت چطوری باید انجام بدیم؟با preferencees چطوری این مقداراهارو ذخیره کنیم و روی textview ها اعمال کنیم؟ (10 سال پیش)
0 0
اقا نیما!اونجا که نوشتی میتونید تغییر فونت بدید یعنی باید typrface تعریف کنیم؟! (10 سال پیش)
0 0
حلـــه فهمیدم (10 سال پیش)
0 0
آره، اینجوری: لینک (10 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
h_r_v  10 سال پیش
+4 0

کدی که بنده برای تغییر سایز و فونت استفاده میکنم :

 	        String size = G.preferences.getString("FONT_SIZE", "20");
String font = G.preferences.getString("FONT_TYPE", "4");
float size1 = Float.parseFloat(size);
int font1 = Integer.parseInt(font);
switch(font1)
{
case 1:
Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/bnazanin.ttf");
setTypeface(tf);
break;
case 2:
Typeface tf1 = Typeface.createFromAsset(getContext().getAssets(), "fonts/araz.ttf");
setTypeface(tf1);
break;
case 3:
Typeface tf2 = Typeface.createFromAsset(getContext().getAssets(), "fonts/koodak.otf");
setTypeface(tf2);
break;
case 4:
break;

اگر هنوز مشکل دارید حتما قسمت Preferences رو ندیدید!

0 0
دیدم ولی چیزی متوجه نشدم !!!!!!! (10 سال پیش)
0 0
شما layout مربوط به prefrence رو هم میسازید؟ (10 سال پیش)
0 0
این کدرو در چه قسمتی مینویسید؟بعد نحوه انتخاب فونت چطوری؟اینم با prefrence انجام دادی؟ (10 سال پیش)
پاسخ به سوال 
Spirit  10 سال پیش
+9 0

برادر نیما D: اینجوری خوشگلتر نمیشه به نظرت (قسمت تغییر فونت) :

int fontId = Integer.parseInt(G.preferences.getString("FONT_TYPE", "1"));
String fontName = "";
switch(fontId) {
case 1: default:
fontName = "bnazanin.ttf";
break;
case 2:
fontName = "araz.ttf";
break;
case 3:
fontName = "koodak.otf";
break;
}
setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/" + fontName));
0 0
من فقط تا حدی که کارم راه بیفته کد مینویسم :دی بقیه اش سوسول بازیه :)) (10 سال پیش)
0 0
ممنون (10 سال پیش)
0 0
آقای اسپریت تشکر نحوه نگاشت بهتر است این طوری باشد (10 سال پیش)

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