gpt4 book ai didi

java - 如何检测Android应用程序是否以屏幕兼容模式运行?

转载 作者:行者123 更新时间:2023-11-29 09:00:22 26 4
gpt4 key购买 nike

我正在构建一个用于其他项目(Android 2.1 及更高版本)的 Android 库,这些项目可能会或可能不会在屏幕兼容模式下运行 ( http://developer.android.com/guide/practices/screen-compat-mode.html )。

有没有办法检测应用程序(在我的例子中,包含我的库的应用程序)是否在屏幕兼容模式下运行?

假设我不想在宽度 <= 320dp 的设备上运行,检查应用程序的宽度是否 <= 320dp 是否可以被视为它在兼容模式下运行的良好指示?正如文档所说,我真的不喜欢它:

Note: Currently, screen compatibility mode only emulates handset screens with a 320dp width, so screen compatibility mode is not applied to any device if your value for android:compatibleWidthLimitDp is larger than 320.

最佳答案

API 17 的可行解决方案:

DisplayMetrics metrics = new DisplayMetrics();
WindowManager manager = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);

Point realSizePoint = new Point();
manager.getRealSize(realSizePoint);

Point scaledSizePoint = new Point();
manager.getSize(scaledSizePoint);

然后比较realSizePointscaledSizePoint 坐标。这听起来可能很老套,我还没有测试过这段代码,但它应该可以完成这项工作。

关于java - 如何检测Android应用程序是否以屏幕兼容模式运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17829259/

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