安卓手机系统设置字体大小后与APP以及web端字体大小问题

本文介绍了在安卓手机上调整系统字体大小后,APP及web端页面字体发生变化的问题及其解决方案。通过简单的代码调整,可以确保APP内html界面不受系统字体大小的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安卓手机系统设置字体大小后与APP以及web端字体大小问题

最近在做一些有关html和App的一些混合式开发,在测试过程中发现,android手机系统设置了字体大小,app应用中和web服务端的页面(也就是html界面)字体都会有变化。下面我就在这次开发者中遇到的相关问题进行一个小小的总结。

1.情况发生,设置系统字体之后的前后对比
这里写图片描述
这里写图片描述
是不是发现字体变化还是很大的呢!

web端html和入app中,有些会出现兼容问题,有些机子并不会出现兼容问题。实际开发中,对于android的同学来说,只要有超过三种有这种问题就需要进行解决这个问题。小编在网络上找了很多的资料,发现,网络就是一个大杂烩,什么都有,但是有用的却很少,如何解决这个问题呢?其实并没有那么麻烦。

2.问题研究
1)app中字体大小不随着系统设置字体大小而改变是很容易的,但是需要确定您之前已经做过兼容测试,您的布局不会有兼容问题,也就是默认的系统设置的时候,也就是字体放大倍数为1.0的时候,不会有布局问题
这个时候只需要加入两行代码就能够轻松的解决这个问题,这个也是百度中就可以找到的。这里小编也只是做了一个代码的搬运工

        //防止字体被从新设置
        DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
        displayMetrics.scaledDensity = displayMetrics.density;

小编并不喜欢重复操作,所以我直接在环境类中加入了代码,代码如下

public class MyApplication extends YTBaseApplication {

    @Override
    public void onCreate() {
        super.onCreate();
        //防止字体被从新设置
        DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
        displayMetrics.scaledDensity = displayMetrics.density;
        CrashHandler.getInstance().init(this);
        init();
    }

是不是恨简单呢!

2)web端界面放入APP兼容问题
查了一些相关资料,发现都写的比较麻烦,并且不能够解决相关的问题,还好小编之前有做过web端html界面App兼容,顾发现,并没有百度回答的那么麻烦

从理论角度想就是你设置字体大小就是把当前的html界面字体的放大缩小倍数,顾我们只需要让我们的webview这个view’控制html的放大倍数为1.0,很多人知道也就是默认的大小就行,具体代码如何写呢!

        WebSettings webSettings = webView.getSettings();
        webSettings.setTextZoom(100);

是不是发现其实超级简单呢!

希望本人的这篇文章对大家有用。未来的日子一起努力。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值