当用户从 android 设置应用程序更改显示大小时,如何防止应用程序布局更改?

Posted

技术标签:

【中文标题】当用户从 android 设置应用程序更改显示大小时,如何防止应用程序布局更改?【英文标题】:How to prevent app layout changes when user change display size from the android setting application? 【发布时间】:2020-03-27 23:11:35 【问题描述】:

目前,我正在开发一个 android 应用程序,因此,我需要实现这样的功能,以防止每当用户从 android 设备设置应用程序更改显示大小时进行布局缩放。

我正在使用以下库来获取字体大小和视图大小。 字体大小https://github.com/intuit/ssp 查看尺寸https://github.com/intuit/sdp

【问题讨论】:

使用约束布局以获得最佳效果。 【参考方案1】:

如果您需要为所有屏幕固定大小的文本,则必须使用 dp

Here 是文档。

在不同的屏幕上保持 UI 的可见尺寸 密度,您必须使用与密度无关的像素来设计您的 UI (dp) 作为您的计量单位。一个 dp 是一个虚拟像素单元 这大约等于中等密度屏幕上的一个像素(160dpi; “基线”密度)。 Android 将此值转换为 适当数量的真实像素彼此密度。

【讨论】:

我的朋友,我使用 DP 作为视图大小,使用 SP 作为文本大小,这是基本的。 是的,如果你想修复应用程序的文本大小,请更改 sp -> dp。因为如果您从设置更改为大字体,sp 将被更改。为了防止这种情况,您需要在 dp 中定义文本大小 字体缩放工作正常我只需要修复布局大小缩放。

以上是关于当用户从 android 设置应用程序更改显示大小时,如何防止应用程序布局更改?的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式更改系统显示大小Android N

更改意图时 Android Studio 崩溃

Android 兼容8.0及以上 App全局字体调节、禁止App字体随系统字体大小而更改

如何从 UICollectionViewFlowLayout 为 itemSize 设置动画?

当系统范围的字体缩放时,Android TextView不会包装内容

如何在android中动态设置RadioButton大小