Android APP字体大小,不随系统的字体大小变化而变化的方法

今天在工作中遇到了UI上的字体跟随系统的变化,导致整体变样了,所以就想了让APP不随系统字体变化,网上查了一下,了解从android4.0起系统设置的”显示“提供设置字体大小的选项。这个设置直接会影响到所有sp为单位的字体适配,所以很多app在设置了系统字体后瞬间变得面目全非。

原文参考:http://blog.csdn.net/zhuqiang1002/article/details/38756127

后面我直接将textview集成了重新写一个类引用,然后重写getResource这个方法,吧fontScale设为1表示原来大小。

@Override
public Resources getResources() {
    Resources res = super.getResources();
    Configuration config=new Configuration();

       //config.setToDefaults();
    config.fontScale=1.0f;
    res.updateConfiguration(config, res.getDisplayMetrics());
    return res;
}
另外一种是动态去,超过原大小不变

private void setNewFileSizeText(TextView textView, int size) {
		float textsize = 12;
		Configuration mconfig = new Configuration();
		float s =  mconfig.fontScale;
		if (textView != null) {
			if (size <= 0) {
				textView.setVisibility(View.GONE);
			} else if (size >= 100) {
				if( s >= 1.0f)
					textsize = textsize/s;
				textView.setText(String.valueOf(99) + "+");
				textView.setTextSize(textsize);
				textView.setVisibility(View.VISIBLE);
			} else {
				textView.setTextSize(textsize);
				textView.setText(String.valueOf(size));
				textView.setVisibility(View.VISIBLE);
			}
		}
	}



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值