Android(安卓)修改全局自定义字体样式(字形,大小)※
16lz
2021-01-25
应用场景:
在Android的开发过程中,有时候用户需要改变客户端显示的信息的字体大小,这时候去逐个设置是很繁琐的。
注:标题中出现 ※ 的文章,属于较基本的功能实现,有待提高与改善。
解决方法:
为了解决以上的问题,在此提供一种方便的设置方法,当然通过此方法修改部分功能来适配自己的需求。使用方式:
第一步:获取本Activity下的获取最外层控件代码。
(ViewGroup) this.getWindow().getDecorView();第二步:设置某Activity下所有可以设置显示字体的组件的方法。
protected void changeFont(ViewGroup root) { Typeface tf = Typeface.createFromAsset(getAssets(),"ITCAvantGardeStd-Bk.otf"); //获取所需字体文件 for(int i = 0; i <root.getChildCount(); i++) { View v = root.getChildAt(i); if(v instanceof TextView ) { ((TextView)v).setTypeface(tf); ((TextView)v).setTextSize(15); ((TextView)v).setTextColor(Color.GRAY); } else if(v instanceof Button) { ((Button)v).setTypeface(tf); ((Button)v).setTextSize(15); ((Button)v).setTextColor(Color.GRAY); } else if(v instanceof EditText) { ((EditText)v).setTypeface(tf); ((EditText)v).setTextSize(15); ((EditText)v).setTextColor(Color.GRAY); } else if(v instanceof ViewGroup) { changeFont((ViewGroup)v); } } }
更多相关文章
- android: 后台执行的定时任务
- Android实现本地手机数据库存储数据最简单的方法:LitePal
- Android(安卓)浅析 ContentProvider (三) 获取原理
- ANDROID 返回,菜单和HOME键的监听
- Android(安卓)xxx is not translated in yyy, zzz 的解决方法
- Android(安卓)SVG动画PathView源码解析与使用教程(API 14)
- Android根据经纬度获取城市名的方法
- Android中实现Launcher功能之二 ----- 添加窗口小部件以及AppWid
- Manifest merger failed : Attribute application@allowBackup v