Android设置全局字体大小,实现小中大字体功能
16lz
2021-01-26
很多app有这种需求,实现字体小中大字体设置,仿照QQ的字体。经过测试,下面代码完美实现,需要重启APP才能生效。
上核心代码
public class MainActivity extends Activity {
@InjectView(R.id.btn_skip1)Button btnSkip1;@InjectView(R.id.btn_skip2)Button btnSkip2;@InjectView(R.id.btn_skip3)Button btnSkip3;@Overridepublic void onCreate( Bundle savedInstanceState) { super.onCreate(savedInstanceState); int state = SpUtils.getSPValue(this,"s",1); if(state==1){ setTheme(R.style.Default_TextSize_Small); }else if(state==2){ setTheme(R.style.Default_TextSize_Middle); }else{ setTheme(R.style.Default_TextSize_Big); } setContentView(R.layout.activity_main); ButterKnife.inject(this);}@OnClick({R.id.btn_skip1, R.id.btn_skip2, R.id.btn_skip3})public void onClick(View view) { switch (view.getId()) { case R.id.btn_skip1: SpUtils.putSPValue(this,"s",1); break; case R.id.btn_skip2: SpUtils.putSPValue(this,"s",2); break; case R.id.btn_skip3: SpUtils.putSPValue(this,"s",3); break; }}}
布局文件
<?xml version="1.0" encoding="utf-8"?>
新建attrs文件,定义字体属性
<?xml version="1.0" encoding="utf-8"?>
自定义style属性
定义dimen文件
21sp 20sp 19sp 18sp 17sp 16sp 15sp 14sp 13sp 12sp 11sp 10sp 9sp
就是这样子,谢谢阅览。有其他问题欢迎留言,也可以小小打赏一下哦,你的鼓励是我最大的进步。
邮箱:845561290@qq.com
更多相关文章
- Android: 缩放图片文件引起的OOM异常
- Android(安卓)gradle 统一依赖库版本
- 记录升级Android(安卓)studio3.0遇到的一些问题和解决方法
- 关于 android 远程控制(pc 控制手机)
- 将Android下的可执行文件以静态库的形式进行编译
- Android(安卓)animation学习笔记之view/drawable animation
- Android用Sax,Pull,Dom解析xml
- mono for android之文件系统与应用程序首选项
- android之简单数据存储Preference