iOS的「設置」 –> 「顯示與亮度」 –> 「文字大小」,能夠修改默認的系統字體大小,當修改以後,系統自帶的應用如信息等都會隨之改變,手機QQ會隨之發生變化:html
而微信的字體大小並不會隨系統的字體大小改變而改變,微信本身有設置文字大小的功能,在「我」 –> 「設置」 –> 「通用」-> 「字體大小」中進行設置react
iOS中若是想作到跟隨系統默認的字體大小改變而改變,怎麼實現呢,步驟以下:ios
一、設置字體的新式爲UIFontTextStyle某個選項;git
二、註冊通知,監聽字號改號改變時修改字體而後從新更新一下佈局;github
- (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
}
Android默認是跟隨系統字體大小改變而改變的,那若是想避免受系統字體大小的影響,如何處理(4.0開始,系統提供修改字體大小功能)?react-native
方法1、將TextView的字體單位由sp改成dp;微信
方法2、在自定義的Activity中重寫getResources方法;ide
@Override
public Resources getResources() {
Resources res = super.getResources();
Configuration conf = new Configuration();
conf.setToDefaults();
res.updateConfiguration(conf, res.getDisplayMetrics());
return res;
}