JessYanCoding / JessYanCoding/AndroidAutoSize

Android14 设置不跟随系统字体大小改变失效

未关闭
#459 7 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Java
星标
13.7k
派生
2k
PR 合并指标
30 天内没有已合并 PR

描述

### Environment
- [x] Autosize Version: v1.2.1
- [x] Target Android Version: api34 android14
- [x] Device Model: Pixel 6 Pro
- [x] Device Resolution: 1440x3120
- [x] Design Size On AndroidManifest: 375*812

### Bug Description:
//是否屏蔽系统字体大小对 AndroidAutoSize 的影响, 如果为 true, App 内的字体的大小将不会跟随系统设置中字体大小的改变
//如果为 false, 则会跟随系统设置中字体大小的改变, 默认为 false
AutoSizeConfig.getInstance().setExcludeFontScale(true);
设置了以上代码在安卓14中更改系统字体,app内字体还是会跟着变大(改变),在安卓14以下设备则有效

### Log:
```
2023-12-20 10:46:25.669 11621-11621 AndroidAutoSize com.yihubang.manager D designWidthInDp = 375, designHeightInDp = 812, screenWidth = 1440, screenHeight = 2900
2023-12-20 10:46:25.669 11621-11621 AndroidAutoSize com.yihubang.manager D initDensity = 3.5, initScaledDensity = 4.5499997
2023-12-20 10:46:26.203 11621-11621 AndroidAutoSize com.yihubang.manager D com.yihubang.manager.activitys.StartActivity used the global configuration.
2023-12-20 10:46:26.206 11621-11621 AndroidAutoSize com.yihubang.manager D The com.yihubang.manager.activitys.StartActivity has been adapted!
StartActivity Info: isBaseOnWidth = true, designWidthInDp = 375.000000, designWidthInSubunits = 375.000000, targetDensity = 3.840000, targetScaledDensity = 3.840000, targetDensityDpi = 614, targetXdpi = 3.840000, targetScreenWidthDp = 375, targetScreenHeightDp = 733
2023-12-20 10:46:26.276 11621-11621 AndroidAutoSize com.yihubang.manager D com.yihubang.manager.activitys.StartActivity used the global configuration.
2023-12-20 10:46:26.278 11621-11621 AndroidAutoSize com.yihubang.manager D The com.yihubang.manager.activitys.StartActivity has been adapted!
StartActivity Info: isBaseOnWidth = true, designWidthInDp = 375.000000, designWidthInSubunits = 375.000000, targetDensity = 3.840000, targetScaledDensity = 3.840000, targetDensityDpi = 614, targetXdpi = 3.840000, targetScreenWidthDp = 375, targetScreenHeightDp = 733
---------------------------- PROCESS STARTED (11686) for package com.yihubang.manager ----------------------------
2023-12-20 10:46:27.878 11621-11621 AndroidAutoSize com.yihubang.manager D com.yihubang.manager.activitys.AdminMainActivity used the global configuration.
2023-12-20 10:46:27.880 11621-11621 AndroidAutoSize com.yihubang.manager D The com.yihubang.manager.activitys.AdminMainActivity has been adapted!
AdminMainActivity Info: isBaseOnWidth = true, designWidthInDp = 375.000000, designWidthInSubunits = 375.000000, targetDensity = 3.840000, targetScaledDensity = 3.840000, targetDensityDpi = 614, targetXdpi = 3.840000, targetScreenWidthDp = 375, targetScreenHeightDp = 733
2023-12-20 10:46:28.372 11621-11621 AndroidAutoSize com.yihubang.manager D com.yihubang.manager.activitys.AdminMainActivity used the global configuration.
2023-12-20 10:46:28.375 11621-11621 AndroidAutoSize com.yihubang.manager D The com.yihubang.manager.activitys.AdminMainActivity has been adapted!
AdminMainActivity Info: isBaseOnWidth = true, designWidthInDp = 375.000000, designWidthInSubunits = 375.000000, targetDensity = 3.840000, targetScaledDensity = 3.840000, targetDensityDpi = 614, targetXdpi = 3.840000, targetScreenWidthDp = 375, targetScreenHeightDp = 733
```

### Screenshot
![Screenshot_20231220_104942](https://github.com/JessYanCoding/AndroidAutoSize/assets/29013889/1ccb1e98-80b8-4e52-9f72-b7259c391e86)
![Screenshot_20231220_105013](https://github.com/JessYanCoding/AndroidAutoSize/assets/29013889/3ff048e9-f84d-4809-991f-09e924e15a1f)
![Screenshot_20231220_104918](https://github.com/JessYanCoding/AndroidAutoSize/assets/29013889/b542f3b3-7bc8-48da-bb0c-19f199ea88a7)

### Related Code:
```
//是否屏蔽系统字体大小对 AndroidAutoSize 的影响, 如果为 true, App 内的字体的大小将不会跟随系统设置中字体大小的改变
//如果为 false, 则会跟随系统设置中字体大小的改变, 默认为 false
AutoSizeConfig.getInstance().setExcludeFontScale(true);
```

### Others:
在真机上,小米14(Android14)上面测试也是这个问题。
Android14还有一个问题就是 AutoSizeCompat.autoConvertDensityOfGlobal((super.getResources()));导致软键盘无法弹出。
删除以下代码解决了
@Override
public Resources getResources() {
//需要升级到 v1.1.2 及以上版本才能使用 AutoSizeCompat
AutoSizeCompat.autoConvertDensityOfGlobal((super.getResources()));
return super.getResources();
}

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。