1.在application中进行注册
public class MyApplication extends Application {
public static int
info=1;//默认的字体的状态
public static Context
context;
public static Context getContext(){
return
context;
}
2.设置字体单位转变的的方法
public class WenUtils {
/**
*
根据手机的分辨率dp的单位转为px(像素)
*
@param
px
*
@return
*/
public static int px2dip(int px) {
//获取像素密度
float density = MyApplication.getContext().getResources().getDisplayMetrics().density;、
int dip = (int) (px / density + 0.5f);
return dip;
}
}
3.设置点击事件,通过单选框进行给字的状态赋值
sliding__radio_sz.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//设置字体的大小
String str[] =new String[]{"小","中","大"};
AlertDialog.Builder builder = new AlertDialog.Builder(NewsActivity.this);
builder.setTitle("请选择设置的字体的大小");
builder.setIcon(R.mipmap.icon);
builder.setSingleChoiceItems(str, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which){
case 0:
//记录状态
MyApplication.info=0;
dialog.dismiss();
break;
case 1:
MyApplication.info=1;
dialog.dismiss();
break;
case 2:
MyApplication.info=2;
dialog.dismiss();
break;
}
}
});
builder.create().show();
}
});
4.在适配器中进行判断状态(info)是几,给字体赋大小
if(MyApplication.info==0){
//调用设置字体大小的方法
holder1.title1.setTextSize(WenUtils.px2dip(15));
}else if(MyApplication.info==1){
holder1.title1.setTextSize(WenUtils.px2dip(20));
}else{
holder1.title1.setTextSize(WenUtils.px2dip(30));
}