dc-master
جمعه 02 اسفند 1392, 09:22 صبح
سلام
من با استفاده از SharedPreferences فونت و سایز متن ها رو تنظیم میکنم.
سایز متن ها مشکلی نداره ولی وقتی از برنامه خارج میشم و دوباره وارد میشم فونت برمیگرده به حالت پیشفرض ولی سایز متن ها روی حالتی که کاربر انتخاب کرده می مونه.
کد صفحه تنظیمات:
package com.example.test;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.Spinner;
import android.widget.TextView;
public class sett extends Activity {
boolean chbt;
int size;
String font;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.setting);
final Typeface yekan=Typeface.createFromAsset(getAssets(), "fonts/yekan.TTF");
final Typeface titr=Typeface.createFromAsset(getAssets(), "fonts/titr.TTF");
final Typeface homa=Typeface.createFromAsset(getAssets(), "fonts/homa.ttf");
final Typeface bkoodkbd=Typeface.createFromAsset(getAssets(), "fonts/bkoodkbd.TTF");
final Typeface elham=Typeface.createFromAsset(getAssets(), "fonts/elham.TTF");
final Typeface farnaz=Typeface.createFromAsset(getAssets(), "fonts/farnaz.ttf");
final Typeface homab=Typeface.createFromAsset(getAssets(), "fonts/homab.ttf");
final Typeface dastnevis=Typeface.createFromAsset(getAssets(), "fonts/dastnevis.otf");
final Typeface khodkar=Typeface.createFromAsset(getAssets(), "fonts/khodkar.ttf");
final Typeface mitra=Typeface.createFromAsset(getAssets(), "fonts/mitra.ttf");
TextView txt11=(TextView) findViewById(R.id.textview);
TextView txt12=(TextView) findViewById(R.id.textView3);
final TextView exam =(TextView) findViewById(R.id.exam);
SeekBar skb=(SeekBar) findViewById(R.id.seek1);
Spinner spin=(Spinner) findViewById(R.id.spin1);
Button save=(Button) findViewById(R.id.sumbit);
final SharedPreferences shp = getSharedPreferences("sett", MODE_PRIVATE);
List<String> list = new ArrayList<String>();
list.add("BYekan");
list.add("BTitr");
list.add("BHoma");
list.add("BFarnaz");
list.add("BKoodkBd");
list.add("BMitra");
list.add("BHomaBd");
list.add("BElham");
list.add("Far_DastNevis");
list.add("Far_khodkar");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layo ut.simple_spinner_dropdown_item);
spin.setAdapter(dataAdapter);
size = shp.getInt("size", 20);
skb.setMax(60);
skb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
public void onStopTrackingTouch(SeekBar arg0) {}
public void onStartTrackingTouch(SeekBar arg0) {}
public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
exam.setTextSize(arg1);
size = arg1;
}
});
font = shp.getString("font", "yekan");
spin.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View selectedItemView,
int position, long id) {
switch(position)
{
case 0:
font="yekan";
exam.setTypeface(yekan);
break;
case 1:
font="titr";
exam.setTypeface(titr);
break;
case 2:
font="BHoma";
exam.setTypeface(homa);
break;
case 3:
font="BFarnaz";
exam.setTypeface(farnaz);
break;
case 4:
font="BKoodkBd";
exam.setTypeface(bkoodkbd);
break;
case 5:
font="BMitra";
exam.setTypeface(mitra);
break;
case 6:
font="BHomaBd";
exam.setTypeface(homab);
break;
case 7:
font="BElham";
exam.setTypeface(elham);
break;
case 8:
font="Far_DastNevis";
exam.setTypeface(dastnevis);
break;
case 9:
font="Far_khodkar";
exam.setTypeface(khodkar);
break;
default:
break;
}
}
public void onNothingSelected(AdapterView<?> arg0) {}
});
save.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
SharedPreferences.Editor shpE = shp.edit();
shpE.putString("font", font);
shpE.putInt("size", size);
shpE.commit();
Intent intent = new Intent(getApplicationContext(), Main.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXITt", true);
startActivity(intent);
Intent sp=new Intent(sett.this,splash.class);
startActivity(sp);
}
});
}
}
کد صفحه ای که فونت و سایزش تغییر میکنه
SharedPreferences shp = getSharedPreferences("sett", MODE_PRIVATE);
String font=shp.getString("font", "yekan");
if(font=="yekan"){
txt1.setTypeface(yekan);
}else if(font=="titr"){
txt1.setTypeface(titr);
}
else if(font=="BHoma"){
txt1.setTypeface(homa);
}
else if(font=="BFarnaz"){
txt1.setTypeface(farnaz);
}
else if(font=="BKoodkBd"){
txt1.setTypeface(bkoodkbd);
}
else if(font=="BHomaBd"){
txt1.setTypeface(homab);
}
else if(font=="BElham"){
txt1.setTypeface(elham);
}
else if(font=="Far_DastNevis"){
txt1.setTypeface(dastnevis);
}
else if(font=="Far_khodkar"){
txt1.setTypeface(khodkar);
}
else if(font=="BMitra"){
txt1.setTypeface(mitra);
}
txt1.setTextSize(size);
:افسرده:
من با استفاده از SharedPreferences فونت و سایز متن ها رو تنظیم میکنم.
سایز متن ها مشکلی نداره ولی وقتی از برنامه خارج میشم و دوباره وارد میشم فونت برمیگرده به حالت پیشفرض ولی سایز متن ها روی حالتی که کاربر انتخاب کرده می مونه.
کد صفحه تنظیمات:
package com.example.test;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.Spinner;
import android.widget.TextView;
public class sett extends Activity {
boolean chbt;
int size;
String font;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.setting);
final Typeface yekan=Typeface.createFromAsset(getAssets(), "fonts/yekan.TTF");
final Typeface titr=Typeface.createFromAsset(getAssets(), "fonts/titr.TTF");
final Typeface homa=Typeface.createFromAsset(getAssets(), "fonts/homa.ttf");
final Typeface bkoodkbd=Typeface.createFromAsset(getAssets(), "fonts/bkoodkbd.TTF");
final Typeface elham=Typeface.createFromAsset(getAssets(), "fonts/elham.TTF");
final Typeface farnaz=Typeface.createFromAsset(getAssets(), "fonts/farnaz.ttf");
final Typeface homab=Typeface.createFromAsset(getAssets(), "fonts/homab.ttf");
final Typeface dastnevis=Typeface.createFromAsset(getAssets(), "fonts/dastnevis.otf");
final Typeface khodkar=Typeface.createFromAsset(getAssets(), "fonts/khodkar.ttf");
final Typeface mitra=Typeface.createFromAsset(getAssets(), "fonts/mitra.ttf");
TextView txt11=(TextView) findViewById(R.id.textview);
TextView txt12=(TextView) findViewById(R.id.textView3);
final TextView exam =(TextView) findViewById(R.id.exam);
SeekBar skb=(SeekBar) findViewById(R.id.seek1);
Spinner spin=(Spinner) findViewById(R.id.spin1);
Button save=(Button) findViewById(R.id.sumbit);
final SharedPreferences shp = getSharedPreferences("sett", MODE_PRIVATE);
List<String> list = new ArrayList<String>();
list.add("BYekan");
list.add("BTitr");
list.add("BHoma");
list.add("BFarnaz");
list.add("BKoodkBd");
list.add("BMitra");
list.add("BHomaBd");
list.add("BElham");
list.add("Far_DastNevis");
list.add("Far_khodkar");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layo ut.simple_spinner_dropdown_item);
spin.setAdapter(dataAdapter);
size = shp.getInt("size", 20);
skb.setMax(60);
skb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
public void onStopTrackingTouch(SeekBar arg0) {}
public void onStartTrackingTouch(SeekBar arg0) {}
public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
exam.setTextSize(arg1);
size = arg1;
}
});
font = shp.getString("font", "yekan");
spin.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View selectedItemView,
int position, long id) {
switch(position)
{
case 0:
font="yekan";
exam.setTypeface(yekan);
break;
case 1:
font="titr";
exam.setTypeface(titr);
break;
case 2:
font="BHoma";
exam.setTypeface(homa);
break;
case 3:
font="BFarnaz";
exam.setTypeface(farnaz);
break;
case 4:
font="BKoodkBd";
exam.setTypeface(bkoodkbd);
break;
case 5:
font="BMitra";
exam.setTypeface(mitra);
break;
case 6:
font="BHomaBd";
exam.setTypeface(homab);
break;
case 7:
font="BElham";
exam.setTypeface(elham);
break;
case 8:
font="Far_DastNevis";
exam.setTypeface(dastnevis);
break;
case 9:
font="Far_khodkar";
exam.setTypeface(khodkar);
break;
default:
break;
}
}
public void onNothingSelected(AdapterView<?> arg0) {}
});
save.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
SharedPreferences.Editor shpE = shp.edit();
shpE.putString("font", font);
shpE.putInt("size", size);
shpE.commit();
Intent intent = new Intent(getApplicationContext(), Main.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXITt", true);
startActivity(intent);
Intent sp=new Intent(sett.this,splash.class);
startActivity(sp);
}
});
}
}
کد صفحه ای که فونت و سایزش تغییر میکنه
SharedPreferences shp = getSharedPreferences("sett", MODE_PRIVATE);
String font=shp.getString("font", "yekan");
if(font=="yekan"){
txt1.setTypeface(yekan);
}else if(font=="titr"){
txt1.setTypeface(titr);
}
else if(font=="BHoma"){
txt1.setTypeface(homa);
}
else if(font=="BFarnaz"){
txt1.setTypeface(farnaz);
}
else if(font=="BKoodkBd"){
txt1.setTypeface(bkoodkbd);
}
else if(font=="BHomaBd"){
txt1.setTypeface(homab);
}
else if(font=="BElham"){
txt1.setTypeface(elham);
}
else if(font=="Far_DastNevis"){
txt1.setTypeface(dastnevis);
}
else if(font=="Far_khodkar"){
txt1.setTypeface(khodkar);
}
else if(font=="BMitra"){
txt1.setTypeface(mitra);
}
txt1.setTextSize(size);
:افسرده: