JessYanCoding / JessYanCoding/AndroidAutoSize

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

Đang mở
#459 7 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Java
Star
13.7k
Fork
2k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.