JessYanCoding / JessYanCoding/AndroidAutoSize

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

Aberta
#459 7 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Java
Estrelas
13.7k
Forks
2k
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

### 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();
}

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.