gpt4 book ai didi

android - 如何在 libgdx 中检测设备是智能手机还是平板电脑?

转载 作者:数据小太阳 更新时间:2023-10-29 02:34:49 24 4
gpt4 key购买 nike

我希望我的 scene2d ui 中的某个 ui 元素在较大的屏幕(不一定是更高的分辨率屏幕)上按比例缩小。它在 Android 布局中非常简单,但如何让它在 libgdx 中工作。也许我缺少一些 API?

在Androidactivity中可以通过接口(interface)实现吗?我能想到的当前解决方案是在不同布局文件夹(values-sw600 等)中声明一个标志,并在 oncreate() 的 androidactivity 中获取它,然后通过接口(interface)将其传递给 libgdx。有没有更好的方法请指教

最佳答案

如果有人仍然对解决此问题的更简单方法感到好奇,您可以使用 LibGDX 方法 Gdx.graphics.getDensity();。这将返回屏幕的像素密度,并可以转换为英寸测量值。计算:

public float getScreenSizeInches () {
//According to LibGDX documentation; getDensity() returns a scalar value for 160dpi.
float dpi = 160 * Gdx.graphics.getDensity();
float widthInches = Gdx.graphics.getWidth() / dpi;
float heightInches = Gdx.graphics.getHeight() / dpi;

//Use the pythagorean theorem to get the diagonal screen size
return Math.sqrt(Math.pow(widthInches, 2) + Math.pow(heightInches, 2));
}

我还没有实际测试过这个,但理论上它应该有效。如果没有,请告诉我。

关于android - 如何在 libgdx 中检测设备是智能手机还是平板电脑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29245023/

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