gpt4 book ai didi

java - 更改 Android 中应用程序的 DisplayMetrics(API 级别低于 17)

转载 作者:太空狗 更新时间:2023-10-29 16:39:29 24 4
gpt4 key购买 nike

我正在开发应用程序,它必须在所有设备上看起来都一样。问题是,如果设备有一个大分辨率屏幕(例如 1920x1080 并且密度可以说是 320),那么所有元素看起来都会变小。

在 API 级别 17 及更高级别上,我可以使用此代码来更正问题:

    DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();

android.content.res.Configuration config = context.getResources().getConfiguration();
config.densityDpi = <desired dpi goes here>;
context.getResources().updateConfiguration(config, displayMetrics);

但如果 API 级别较低,它会抛出异常 java.lang.NoSuchFieldError: android.content.res.Configuration.densityDpi

所以我没有更改配置中的 densityDpi,而是尝试了这个:

    DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();

android.content.res.Configuration config = context.getResources().getConfiguration();
displayMetrics.densityDpi = <desired dpi goes here>;
context.getResources().updateConfiguration(config, displayMetrics);

但是这段代码根本没有效果:(。也许我用错了?请有人帮我解决这个问题。

更新:所以,没人知道这件事吗? :/

最佳答案

您只需像这样更新您的配置和显示指标。

 DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();

Configuration config = context.getResources().getConfiguration();
displayMetrics.densityDpi = DisplayMetrics.DENSITY_LOW;
config.densityDpi = DisplayMetrics.DENSITY_LOW;

context.getResources().updateConfiguration(config, displayMetrics);

关于java - 更改 Android 中应用程序的 DisplayMetrics(API 级别低于 17),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20440099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com