Android 中的字体大小适配
发布日期:2021-05-10 09:30:23 浏览次数:18 分类:精选文章

本文共 2517 字,大约阅读时间需要 8 分钟。

Android������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

���MIUI���������������������������������������������������������������fontScale���������������������1.40���������1.40���������1.32���������1.15���������1.00���������0.86���������������������������������������������������������������������������������������������������������������������������������������fontScale���������������������������

���������������������������������������������������

���������������������FontCompatUtils������������������������������������������������������������������

public class FontCompatUtils {
public static final float MAX_FONT_SCALE = 1.10F; // ������������������������������
private static final String TAG = "FontCompatUtils";
private static Float fontScalePercent = null;
public static Resources getResources(Resources res) {
Configuration configuration = res.getConfiguration();
if (fontScalePercent == null) {
fontScalePercent = 1 / configuration.fontScale;
}
if (shouldChangeFontScale(configuration)) {
Configuration newConfig = new Configuration();
newConfig.setToDefaults();
res.updateConfiguration(newConfig, res.getDisplayMetrics());
}
return res;
}
private static boolean shouldChangeFontScale(Configuration configuration) {
return configuration.fontScale > MAX_FONT_SCALE;
}
public static Float getFontScalePercent() {
if (fontScalePercent == null) {
return 1F;
}
return fontScalePercent;
}
}

���Application���BaseActivity������������������������������������

@Override
protected void onConfigurationChanged(Configuration newConfig) {
if (FontCompatUtils.shouldChangeFontScale(newConfig)) {
getResources();
super.onConfigurationChanged(newConfig);
}
}
@Override
protected Resources getResources() {
return FontCompatUtils.getResources(super.getResources());
}

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ ROM������������������������

������������������������������������������������������������������������������������������������������

上一篇:Kotlin 自带的Builder建造者模式
下一篇:Android UI渲染流程及优化

发表评论

最新留言

不错!
[***.144.177.141]2025年04月20日 02时51分24秒