gpt4 book ai didi

android - 如何在 Activity 之外获取屏幕指标?

转载 作者:IT王子 更新时间:2023-10-28 23:26:41 25 4
gpt4 key购买 nike

我在这里制作了一个通用池:

public class FruitPool extends GenericPool<Sprite> {
// ===========================================================
// Constants
// ===========================================================

// ===========================================================
// Fields
// ===========================================================
private final TextureRegion mTextureRegion;
private Scene mScene;
// ===========================================================
// Constructors
// ===========================================================
public FruitPool(final TextureRegion pFruitTextureRegion, Scene mScene2) {
this.mTextureRegion = pFruitTextureRegion;
this.mScene = mScene2;
}
// ===========================================================
// Getter & Setter
// ===========================================================

// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================
@Override
protected Sprite onAllocatePoolItem() {
Random rand = new Random();

//I want to get the Screens Display metrics here...
Sprite fruit = new Sprite(0, 0, this.mTextureRegion);

mScene.attachChild(fruit);

return fruit;

}

我正在尝试获取这样的屏幕显示指标..

    final Display display = getWindowManager().getDefaultDisplay();
CAMERA_WIDTH = display.getWidth();
CAMERA_HEIGHT = display.getHeight();

唯一的问题是,我无法弄清楚如何在 Activity 之外执行此操作..

这甚至可能吗?还是我必须使用 SharedPreference 之类的?

最佳答案

尽管这里有一个公认的答案,但我还是发布了另一个答案。其原因如下。传递上下文并不总是一个好主意恕我直言,因为在某些情况下(例如应用程序库)上下文不应该从应用程序构建额外的和不必要的依赖项。代码很简单:

DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics();

它为这种方法的已知限制对开发人员不重要的情况提供了解决方案。根据 Android 文档:

getSystem() returns a global shared Resources object that provides access to only system resources (no application resources), and is not configured for the current screen (can not use dimension units, does not change based on orientation, etc).

无论如何,DisplayMetrics 的所有字段都填写了有意义的信息。就我而言,我追求的是 DPI。该方法为我提供了没有上下文的 DPI。

关于android - 如何在 Activity 之外获取屏幕指标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8632970/

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