دیدم ولی چیزی متوجه نشدم !!!!!!!
بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
آموزش تغییر فونت کل برنامه
مدیریت گفتگو
آخرین تغییر: 12 سال پیش
سلام! یکی از دوستان خواست منم تا اونجایی که علم دارم آموزشش رو میزارم!
میریم سر اصل مطلب :
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 کار انجام بدید و ....
پاسخها 2
کدی که بنده برای تغییر سایز و فونت استفاده میکنم :
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 رو ندیدید!
نظرات
شما layout مربوط به prefrence رو هم میسازید؟
این کدرو در چه قسمتی مینویسید؟بعد نحوه انتخاب فونت چطوری؟اینم با prefrence انجام دادی؟
برادر نیما 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));
نظرات
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام
نظرات