应用字体大小的设置

本文介绍了一种在Android应用中动态调整字体大小的方法,通过在Application中注册全局上下文、利用自定义工具类实现DP与PX单位转换,并通过单选框设置字体大小,最后在适配器中根据不同状态调整字体大小。
摘要由CSDN通过智能技术生成
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、付费专栏及课程。

余额充值