1.首先在activity的onCreate中获取存储的标志字号大小的值
String size = SPUtils.getString(this, "textSizeFlag", "1");//默认字号1 字号小
2.根据存储值为控件设置字号大小
if (size.equals("1")) {
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP,15);//单位dip
} else if (size.equals("2")) {
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP,55);//单位sp
} else if (size.equals("3")) {
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP,105);//单位sp根据需求自己设置
}
3.设置一个点击按钮,当点击时自动修改存储值大小
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SPUtils.putString(TestAlias.this,"textSizeFlag","3");//大号字体
finish();
}
});
findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SPUtils.putString(TestAlias.this,"textSizeFlag","2");//中号字体
finish();
}
});
- SPUtils 类
/**
* SharedPreferences 工具类
*/
public class SPUtils {
public static final String NAME = "config";
/**
* 存储String类型的值
* @param mContext this
* @param key key值
* @param value 要存储的String值
*/
public static void putString(Context mContext, String key, String value) {
SharedPreferences sharedPreferences = mContext.getSharedPreferences(NAME, Context.MODE_PRIVATE);
sharedPreferences.edit().putString(key, value).commit();
}
/**
* 获取String类型的值
* @param mContext this
* @param key key
* @param defValue 默认值
* @return
*/
public static String getString(Context mContext, String key, String defValue) {
SharedPreferences sharedPreferences = mContext.getSharedPreferences(NAME, Context.MODE_PRIVATE);
return sharedPreferences.getString(key, defValue);
}
/**
* 存储Int类型的值
* @param mContext this
* @param key key
* @param value 要存储的Int值
*/
public static void putInt(Context mContext, String key, int value) {
SharedPreferences sharedPreferences = mContext.getSharedPreferences(NAME, Context.MODE_PRIVATE);
sharedPreferences.edit().putInt(key, value).commit();
}
/**
* 获取Int类型的值
* @param mContext this
* @param key key
* @param defValue 默认值
* @return
*/
public static int getInt(Context mContext, String key, int defValue) {
SharedPreferences sharedPreferences = mContext.getSharedPreferences(NAME, Context.MODE_PRIVATE);
return sharedPreferences.getInt(key, defValue);
}
/**
* 存储Boolean类型的值
* @param mContext this
* @param key key
* @param value 要存储Boolean值
*/
public static void putBoolean(Context mContext, String key, boolean value) {
SharedPreferences sharedPreferences = mContext.getSharedPreferences(NAME, Context.MODE_PRIVATE);
sharedPreferences.edit().putBoolean(key, value).commit();
}
/**
* 获取Boolean类型的值
* @param mContext this
* @param key key
* @param defValue 默认值
* @return
*/
public static boolean getBoolean(Context mContext, String key, Boolean defValue) {
SharedPreferences sharedPreferences = mContext.getSharedPreferences(NAME, Context.MODE_PRIVATE);
return sharedPreferences.getBoolean(key, defValue);
}
/**
* 删除单个key
* @param context
* @param key
*/
public static void deleShare(Context context, String key) {
SharedPreferences sharedPreferences = context.getSharedPreferences(NAME, Context.MODE_PRIVATE);
sharedPreferences.edit().remove(key).commit();
}
/**
* 删除全部key
* @param context
*/
public static void deleAll(Context context) {
SharedPreferences sharedPreferences = context.getSharedPreferences(NAME, Context.MODE_PRIVATE);
sharedPreferences.edit().clear().commit();
}
}