gpt4 book ai didi

android - 在没有上下文的情况下将 dp 转换为 px

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:53:22 26 4
gpt4 key购买 nike

有一种非常简洁的方法可以在没有上下文的情况下将 dp 转换为 px,它是这样的:

public static int dpToPx(int dp) {
float density = Resources.getSystem().getDisplayMetrics().density;
return Math.round((float) dp * density);
}

Google GitHub page 上的每个 Google 示例中他们使用以下方法:

public static int convertDpToPixel(Context ctx, int dp) {
float density = ctx.getResources().getDisplayMetrics().density;
return Math.round((float) dp * density);
}

那么第一种方法有问题吗?对我来说,它在我所有的应用程序中都运行良好,但我想知道在某些情况下它可能会失败吗?

最佳答案

is there some case where it might fail?

是的,有!

Android 支持不同的屏幕,例如,您可以使用 Chromecast 转换应用程序或通过其他方式连接到不同的屏幕。在这种情况下,这些值将无法正确转换到其他屏幕。

来自documentation对于 Resources.getSystem():

Return 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).

关于android - 在没有上下文的情况下将 dp 转换为 px,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42673531/

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