产品设计之动态字体大小
2016-08-24 21:55
330 查看
iOS的“设置” –> “显示与亮度” –> “文字大小”,可以修改默认的系统字体大小,当修改之后,系统自带的应用如信息等都会随之改变,手机QQ会随之发生变化:
而微信的字体大小并不会随系统的字体大小改变而改变,微信自己有设置文字大小的功能,在“我” –> “设置” –> “通用”-> “字体大小”中进行设置
iOS中如果想做到跟随系统默认的字体大小改变而改变,怎么实现呢,步骤如下:
1、设置字体的新式为UIFontTextStyle某个选项;
2、注册通知,监听字号改号改变时修改字体然后重新更新一下布局;
更多细节可参考:
[1]iOS动态字体DynamicType的实现(1)
[2]动态字体,根据系统设置调整APP字体大小
[3]一文让你彻底了解iOS字体相关知识
iOS中如果想实现字体大小随UILabel的宽度进行自适应,可使用adjustsFontSizeToFitWidth,更多详情可参考这篇文章:详解UILabel的adjustsFontSizeToFitWidth值
Android默认是跟随系统字体大小改变而改变的,那如果想避免受系统字体大小的影响,如何处理(4.0开始,系统提供修改字体大小功能)?
方法一、将TextView的字体单位由sp改为dp;
方法二、在自定义的Activity中重写getResources方法;
更多详情可参考:
[1]Android APP字体大小,不随系统的字体大小变化而变化的方法
[2]使应用中的字体不受系统设置影响的两种方法
那React Native呢?写这篇文章也是因为发现了默认RN是跟随系统自带的字体大小变化而变化的,当时还比较惊讶,后来查文档发现默认就支持了,如果想禁用直接设置属性allowFontScaling为false(默认为true)
https://facebook.github.io/react-native/docs/text.html#allowfontscaling
http://reactnative.cn/docs/0.31/text.html#allowfontscaling
而如果你想根据不同的屏幕大小使用不同的字号,可以参考这里:how to set font size for different IOS devices in react native
而微信的字体大小并不会随系统的字体大小改变而改变,微信自己有设置文字大小的功能,在“我” –> “设置” –> “通用”-> “字体大小”中进行设置
iOS中如果想做到跟随系统默认的字体大小改变而改变,怎么实现呢,步骤如下:
1、设置字体的新式为UIFontTextStyle某个选项;
2、注册通知,监听字号改号改变时修改字体然后重新更新一下布局;
- (id)initWithStyle:(UITableViewStyle)style { if (self = [super initWithStyle:style]) { if (IOS_VERSION >= 7.0) { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleContentSizeCategoryDidChanged:) name:UIContentSizeCategoryDidChangeNotification object:nil]; } } } // - (void)handleContentSizeCategoryDidChanged:(NSNotification *)notification { //update font size/frame and view }
更多细节可参考:
[1]iOS动态字体DynamicType的实现(1)
[2]动态字体,根据系统设置调整APP字体大小
[3]一文让你彻底了解iOS字体相关知识
iOS中如果想实现字体大小随UILabel的宽度进行自适应,可使用adjustsFontSizeToFitWidth,更多详情可参考这篇文章:详解UILabel的adjustsFontSizeToFitWidth值
Android默认是跟随系统字体大小改变而改变的,那如果想避免受系统字体大小的影响,如何处理(4.0开始,系统提供修改字体大小功能)?
方法一、将TextView的字体单位由sp改为dp;
方法二、在自定义的Activity中重写getResources方法;
@Override public Resources getResources() { Resources res = super.getResources(); Configuration conf = new Configuration(); conf.setToDefaults(); res.updateConfiguration(conf, res.getDisplayMetrics()); return res; }
更多详情可参考:
[1]Android APP字体大小,不随系统的字体大小变化而变化的方法
[2]使应用中的字体不受系统设置影响的两种方法
那React Native呢?写这篇文章也是因为发现了默认RN是跟随系统自带的字体大小变化而变化的,当时还比较惊讶,后来查文档发现默认就支持了,如果想禁用直接设置属性allowFontScaling为false(默认为true)
https://facebook.github.io/react-native/docs/text.html#allowfontscaling
http://reactnative.cn/docs/0.31/text.html#allowfontscaling
而如果你想根据不同的屏幕大小使用不同的字号,可以参考这里:how to set font size for different IOS devices in react native
相关文章推荐
- CSS网页设计字体大小(em)探讨
- css教程:网页字体及字体大小的设计
- Andoird用户界面设计上手指南:设置字体大小
- Visual C++中动态改变控件和对话框字体(大小) (转载)
- 【转】VC中动态改变控件和对话框字体(大小)
- web设计中字体大小设置的几个灵活的关键点
- Visual C++中动态改变控件和对话框字体(大小) (转载)
- 动态设置编辑框的大小、 文本字体、颜色等
- VC中动态改变控件和对话框字体(大小)
- Android代码动态设置字体大小
- 网页字体大小的设计技巧
- 通过css(name,value)方法动态的改变字体大小
- 动态调整textarea中字体的大小代码
- 动态修改listview,spinner控件字体大小的解决办法
- Dynamic Fonts动态设置字体大小存入Cookie
- CSS网页设计时关于字体大小的设计
- 动态调整textarea中字体的大小代码
- 灵活XHTML和CSS网页设计1-字体大小方案
- Windows Phone开发经验谈(15)-动态的改变APP的字体大小
- 如何设计动态(不定)字段的产品数据库表?--淘宝多产品属性字段设计方法