本文:https://www.jianshu.com/p/f1a61baf66a6
原文:一种极低成本的Android屏幕适配方式 - 字节跳动技术团队
前言
屏幕适配啊,老生长谈的问题,因为Android碎片化的原因,屏幕的分辨率简直是五花八门啊,不说别的,打开studio模拟器里就可以搞一大堆不同分辨率的模拟器。
适配是个头疼的事啊,虽然Android官方提供了dp单位来适配,但是在某些时候特殊的屏幕分辨率下,UI还是变形的难看的不行。
下面说一种字节跳动技术团队提供的适配方式,据说是今日头条中使用的方式。
详细的信息大家直接去看原文吧,链接如下:
原文:一种极低成本的Android屏幕适配方式 - 字节跳动技术团队
原文最终方案
我这里呢,就把原文里面实现的代码最终方案敲了一下,方便大家参阅。
同时在 Activity#onCreate 方法中调用下就行了。
// 适配
private static float sNonCompatDensity;
private static float sNonCompatScaledDensity;
// 默认设计图为360dp
private final static float TARGET_SCREEN_WIDTH_DP = 360;
private static void setCustomDensity(@NonNull Activity activity, @NonNull final Application application) {
final DisplayMetrics appDisplayMetrics = application.getResources().getDisplayMetrics();
if (sNonCompatDens

本文介绍了字节跳动技术团队提出的一种低成本Android屏幕适配方案,该方案通过调整Activity的DisplayMetrics实现。在Application中利用ActivityLifecycleCallbacks监听并设置适配,确保每个Activity都能正确应用。文章探讨了为何需要在每个Activity中重设适配信息,与Resource对象的生命周期相关。
最低0.47元/天 解锁文章
2877

被折叠的 条评论
为什么被折叠?



