ورود

View Full Version : تنظیمات متون



mohammad-de
دوشنبه 24 آذر 1393, 21:04 عصر
یک کد تنظیمات از داخل یکی از این برنامه های آموزش برنامه نویسی پیدا کردم که برای تغیر سایز،فونت و رنگ متن هست:




setRequestedOrientation(ActivityInfo.SCREEN_ORIENT ATION_PORTRAIT);
// ÏÓÊæÑÇÊ ÈÑÇí ÐÎíÑå ÊäÙíãÇÊ
sh = getSharedPreferences("font", MODE_PRIVATE);
font = sh.getString("font", "0");
size = sh.getString("size", "20");
color = sh.getString("color", "0");
// ÊÚÇÑíÝ ÇíÏí åÇ
et = (EditText) findViewById(R.id.editText1);
TextView tv1 = (TextView) findViewById(R.id.textView1);
TextView tv2 = (TextView) findViewById(R.id.textView2);
TextView tv3 = (TextView) findViewById(R.id.textView3);
spinner1 = (Spinner) findViewById(R.id.spinner1);
spinner2 = (Spinner) findViewById(R.id.spinner2);
Button btn = (Button) findViewById(R.id.button1);

// size
et.setTextSize(Float.parseFloat(size));
tv1.setTextSize(Float.parseFloat(size));
tv2.setTextSize(Float.parseFloat(size));
tv3.setTextSize(Float.parseFloat(size));
btn.setTextSize(Float.parseFloat(size));

// color
int c = 0;
if (color.equals("0")) {
c = Color.BLACK;
} else if (color.equals("1")) {
c = Color.WHITE;
} else if (color.equals("2")) {
c = Color.RED;
} else if (color.equals("3")) {
c = Color.BLUE;
}
et.setTextColor(c);
tv1.setTextColor(c);
tv2.setTextColor(c);
tv3.setTextColor(c);
btn.setTextColor(c);

// font
Typeface font1 = null;// = Typeface.createFromAsset(getAssets(),
// "font/f10.ttf");

if (font.equals("0")) {
font1 = Typeface.createFromAsset(getAssets(), "fonts/font.ttf");
} else if (font.equals("1")) {
font1 = Typeface.createFromAsset(getAssets(), "fonts/font2.ttf");
} else if (font.equals("2")) {
font1 = Typeface.createFromAsset(getAssets(), "fonts/font3.ttf");
} else if (font.equals("3")) {
font1 = Typeface.createFromAsset(getAssets(), "fonts/font4.ttf");
} else if (font.equals("4")) {
font1 = Typeface.createFromAsset(getAssets(), "fonts/font5.ttf");
}

et.setTypeface(font1);
tv1.setTypeface(font1);
tv2.setTypeface(font1);
tv3.setTypeface(font1);
btn.setTypeface(font1);

et.setText(size);

final List<String> list = new ArrayList<String>();

list.add("فونت اول");
list.add("فونت دوم");
list.add("فونت سوم");
list.add("فونت چهارم");
list.add("فونت پنجم");

final ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, list);
dataAdapter
.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(dataAdapter);
spinner1.setSelection(Integer.parseInt(font));

final List<String> list1 = new ArrayList<String>();

list1.add("سیاه");
list1.add("سفید");
list1.add("قرمز");
list1.add("آبی");

final ArrayAdapter<String> dataAdapter1 = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item, list1);
dataAdapter1
.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(dataAdapter1);
spinner2.setSelection(Integer.parseInt(color));

btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (Integer.parseInt(et.getText().toString()) <= 10
|| Integer.parseInt(et.getText().toString()) > 30) {
Toast.makeText(getApplicationContext(),
"ÇäÏÇÒå Þáã ÈÇíÏ ÚÏÏí Èíä 10 ÊÇ 30 ÈÇÔÏ",
Toast.LENGTH_SHORT).show();
} else {
SharedPreferences.Editor shpE = sh.edit();

shpE.putString("font", Integer.toString(spinner1
.getSelectedItemPosition()));
shpE.putString("size", et.getText().toString());
shpE.putString("color", Integer.toString(spinner2
.getSelectedItemPosition()));
shpE.commit();
finish();
Toast.makeText(getApplicationContext(),
"ÊÛííÑÇÊ ÈÇ ãæÝÞíÊ ÐÎíÑå ÔÏ", Toast.LENGTH_LONG)
.show();

}
}
});




درست و سالمه و کار میکنه فقط مشکل اینجاست که وقتی تنظیمات رو سیو میکنی متن های همون اکتیویتی تنظیمات تغیر میکنه

من اگه بخوام تنظیمات متون یک اکتیویتی دیگه رو تغیر بدم با این تنظیمات چی؟

فک میکنم باید از SharedPreferences استفاده کنم آره؟

میشه راهنمایی کنید؟ تا حالا با SharedPreferences کار نکردم

darkhah1
سه شنبه 25 آذر 1393, 19:28 عصر
پیدا کردی به ماهم بده رفیق:چشمک: