应用字体大小的设置

本文介绍了一种在Android应用中动态调整字体大小的方法,通过在Application中注册全局上下文、利用自定义工具类实现DP与PX单位转换,并通过单选框设置字体大小,最后在适配器中根据不同状态调整字体大小。
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));
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值