Skip to content

Releases: JessYanCoding/AndroidAutoSize

1.2.1

13 Mar 08:07
Compare
Choose a tag to compare
  1. 使用位运算对适配信息的缓存进行优化, fix #276

1.2.0

22 Jan 10:18
Compare
Choose a tag to compare

其他三方库:AndroidX 和 Support 您只能选择其一!
AndroidAutoSize: 不,我全都要!

  1. 重大更新: 同时兼容 Androidx 和 Support, 框架会根据您项目的依赖情况自动选择对应的 Library,并应用不同的处理逻辑,使用 AndroidX 和 Support 的新旧项目都可以放心的升级到 v1.2.0,升级并不会对您的老项目造成任何影响。

  2. 优化在 InitProvider 中初始化 AndroidAutoSize 时 Application 可能为 null 的问题。

  3. 新增对 Configuration.screenWidthDp 和 Configuration.screenHeightDp 的修改,将 screenWidthDp 和 screenHeightDp 修改为适配后的屏幕 dp 尺寸,以便于使用者和三方库获取到适配后的正确屏幕尺寸。 2d071d3

  4. 提升 Gradle 到 v5.4.1。

  5. 新增: 添加 AutoSize#checkAndInit(Application) 方法, 保证 AndroidAutoSize 在异常情况下也能够正常初始化。

  6. 优化: 在初始时给设计图尺寸设置默认值。

  7. 修复: 小米手机适配失效的问题。

  8. 优化: LogUtils 更名为 AutoSizeLog 避免与其他同名的日志工具类冲突。

  9. 新增: 添加 AutoSizeConfig#setExcludeFontScale 方法调整 APP 内字体大小的放大比例, 区别于系统字体大小的放大比例, 可以全局调节 APP 内字体的大小。

  10. 更新: Android SDK 版本提升为 29。

  11. 新增: Androidx Demo。

  12. 对在某些设备上 AndroidAutoSize 取消自动启动的解决方案

  13. 对在某些特殊情况下出现 AndroidAutoSize 未能完成初始化时的解决方案

  14. 对全面屏或刘海屏以高度为基准进行适配时的建议

1.1.2

08 Jan 11:39
Compare
Choose a tag to compare
  1. 增加 AutoSizeCompat 类,重写 Activity 的 getResources() 使用以下代码即可解决所有屏幕适配失效的问题
    @Override
    public Resources getResources() {
        AutoSizeCompat.autoConvertDensityOfGlobal((super.getResources());//如果没有自定义需求用这个方法
        AutoSizeCompat.autoConvertDensity((super.getResources(), 667, false);//如果有自定义需求就用这个方法
        return super.getResources();
    }
  1. 增加 AutoSizeConfig#setStatusBarHeight(int) 方法,框架使用者可自行修改状态栏高度

1.1.1

13 Dec 07:30
Compare
Choose a tag to compare

很多人都在询问我,如何让 App 内的字体大小不跟随系统设置中字体大小的改变,AndroidAutoSize 本身是不支持这个需求的,因为在我看来你如果不想让 App 内的字体大小跟随系统字体的大小进行改变,那不使用 sp 作为字体大小的单位即可,为何即要用 sp 又不想使用 sp 的特性,这不是自相矛盾吗,那你用 sp 的意义何在呢?所以我并没有给出这个需求的解决方案,虽然我没有给出解决方案,但这并不妨碍他们自己动手,自己尝试解决问题的行为值得鼓励,于是他们尝试使用以下代码解决这个需求

@Override
public Resources getResources() {
    Resources res = super.getResources();
    Configuration config = new Configuration();
    config.setToDefaults();
    res.updateConfiguration(config, res.getDisplayMetrics());
    return res;
}

由于 DisplayMetrics 是全局的,AndroidAutoSize 这刚刚才修改了 density,你这一来就 setToDefaults(),将所有参数设为默认值,这不冲突才怪呢,这下冲突了就又来找我了... 我能怎么办?我也很无奈啊!我让你不使用 sp,你又觉得我敷衍你,好吧,作为一个全面、强大的屏幕适配框架,这个需求我虽然不理解,但既然是人民的需求,我还是尽量满足吧,现在将 AndroidAutoSize 升级到 v1.1.1,使用下面一行代码即可实现这个需求

AutoSizeConfig.getInstance().setExcludeFontScale(true);

1.1.0

22 Nov 03:49
Compare
Choose a tag to compare
  1. 优化 AutoSize#autoConvertDensity,增加稳定性
  2. 完成 #82 中的需求,当项目中同时存在副单位和主单位,并且副单位的设计图尺寸与主单位的设计图尺寸不同时,可以通过 UnitsManager#setDesignSize() 方法配置副单位的设计图尺寸,这里主要针对旧项目从主单位过渡到副单位时所需要的需求

1.0.6

07 Nov 10:09
Compare
Choose a tag to compare

1.优化 getRawScreenSize#getScreenSize 中获取屏幕尺寸的方式,在各种异常情况下,让屏幕尺寸也能获取到正确的值

1.0.5

30 Oct 11:01
Compare
Choose a tag to compare

1.增加 onAdaptListener 接口,可监听屏幕适配时的一些事件

AutoSizeConfig.getInstance()..setOnAdaptListener(new onAdaptListener() {
                    @Override
                    public void onAdaptBefore(Object target, Activity activity) {
                        LogUtils.d(String.format(Locale.ENGLISH, "%s onAdaptBefore!", target.getClass().getName()));
                    }

                    @Override
                    public void onAdaptAfter(Object target, Activity activity) {
                        LogUtils.d(String.format(Locale.ENGLISH, "%s onAdaptAfter!", target.getClass().getName()));
                    }
                });

1.0.1

22 Oct 10:53
Compare
Choose a tag to compare

1.Add AutoSizeConfig#setDesignWidthInDp(int) and AutoSizeConfig#setDesignHeightInDp(int)

1.0.0

11 Oct 09:09
Compare
Choose a tag to compare
  1. Upgrade Gradle to v4.6
  2. Upgrade build-gradle to v3.2.0
  3. Upgrade buildToolsVersion to v28.0.3
  4. Upgrade appcompat-v7 to v28.0.0
  5. 增加 AutoSizeConfig#isVertical()、AutoSizeConfig#setVertical(boolean)、AutoSizeConfig#setScreenWidth(int)、AutoSizeConfig#setScreenHeight(int) 等方法
  6. 优化 AutoSize#autoConvertDensity(Activity, float, isBaseOnWidth),在横竖屏切换时自动更新框架储存的屏幕信息
  7. 优化 AutoSize#cancelAdapt(Activity),https://github.com/JessYanCoding/AndroidAutoSize/issues/12#issuecomment-428125193
  8. 添加 consumerProguardFiles
  9. 在 ActivityLifecycleCallbacksImpl#onActivityStarted(Activity) 中重设 density,增强框架稳定性

0.9.5

12 Sep 07:47
Compare
Choose a tag to compare

1.增加 AutoSize#initCompatMultiProcess(Context),修复 AndroidAutoSize 在多进程下不能初始化的问题