今天工作遇到一个需求,说是要设置textview的字体大小不随系统字体设置变化。于是我一通百度,找到了一个so easy的方法。

1、直接将字体大小的sp改成dp即可实现改需求。

我美滋滋的找来领导,跟他说搞好了,结果这货说 不行哦,字体要用sp,不能推荐dp。

 虽然内心os是这样子的,但还是乖乖去寻找既设置sp又能过固定大小的方法。

又是一通百度,找到啦。只需要重写系统的一个方法即可,代码如下,就能实现sp字体不随系统字体设置改变大小咯。

2、在相应的activity里面重写以下方法就ok了。

    /**
     * 重写 getResource 方法,防止系统字体影响
     */
    @Override
    public Resources getResources() {//禁止app字体大小跟随系统字体大小调节
        Resources resources = super.getResources();
        Configuration configuration = new Configuration();
        configuration.setToDefaults();
        resources.updateConfiguration(configuration, resources.getDisplayMetrics());
        return resources;
    }

以上两个设置textview字体固定的方法都是可以的哦,其实我更喜欢sp改成dp,多简单是不是。

小小记录一下领导吐血的需求,嘻嘻。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐