android 滑动全局设置字体大小(不重启当前应用)

1、为什么要动态设置字体大小

    由于项目面对的是中老年客户项目中自带的字体无法满足客户需求。

2、设置全局字体大小需要做哪些?

    2、1、首先将定义常量进行接收要改变字体大小的系数如:Constant.TEXTVIEWSIXE

          2、设置全局保存系数SharedPreference以便下次进入字体显示上次设置的大小

          3、在BaseActivity中编写以下代码:

@Override

public Resources getResources() {

Resources res =super.getResources();

Configuration config = res.getConfiguration();

config.fontScale= Constant.TEXTVIEWSIXE;//1 设置正常字体大小的倍数

res.updateConfiguration(config,res.getDisplayMetrics());

returnres;

}

         4、编写设置大小页面

                        编写当前页面代码就不进行放入进去,需要做的操作是

                              以上这段代码是将滑动设置的字体系数大小报错入SharedPreference中,并调用getResources()改变系统系数,再通过代码设置当前字体大小来进行设置改变大小。

                             5、在按返回键的时候通过EventBus来进行通知主页面然后进行重启工作(表面上事根本看不出来的也不会出现卡顿延迟现象)

                                          有的同学不知道EventBus是什么可以进行扩展一下 

 3、什么是EventBus     

        EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信,这些需求都可以通过EventBus实现。

如何使用?

只需要在gradle中导入compile'org.greenrobot:eventbus:3.0.0' 然后就可以使用了

在在需要重启的页面进行放入以下代码,做到刷新左右(针对带有底部导航侧边栏应用的可以这么做)

4、针对哪些是可以进行放缩的呢?

           在xml字体中只要是设置带有sp字体大小的都是可以进行设置的,如果说有部分字体不想跟随放缩那么就设置成dp

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,259评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,225评论 19 139
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,707评论 0 17
  • 最近发现如果将手机系统的字体设置为大字体,应用中的字体将跟随系统变大,而布局大部分我们根据设计出图写死了大小,这就...
    爺珍爱那颗心阅读 4,290评论 0 0
  • 长夜漫漫无心睡眠,想着发个朋友圈吧!随手发了个“人生真是无趣!”刚发出去没多久就有人评论到:“小女子,一天想什么呀...
    海彤冉冉阅读 495评论 4 2