gpt4 book ai didi

android - android如何计算res目录

转载 作者:搜寻专家 更新时间:2023-11-01 07:39:14 25 4
gpt4 key购买 nike

我已阅读 http://developer.android.com/guide/practices/screens_support.htmlhttp://developer.android.com/reference/android/util/DisplayMetrics.html我不知何故在这里留下了一个空白。

  1. 如何完成从 DisplayMetrics.densityDpiString ("ldpi") 的转换?
  2. 更重要的是,从 DisplayMetrics.widthPixelsDisplayMetrics.widthPixels 到例如 String ("large")

首先,我可以很容易地创建一个 switch 语句。但是第二个要复杂得多。有人知道任何细节吗?是否有一个函数可以做到这一点?

我什至搜索了源代码,也没有找到任何东西。但也许我找错了东西。

最佳答案

我想出来了,这里是正确的代码(你需要一个有效的 android.content.Context 属性 context 实例):

     final android.view.WindowManager windowManager =
(android.view.WindowManager) this.context
.getSystemService (android.content.Context.WINDOW_SERVICE);
final android.util.DisplayMetrics metrics = new android.util.DisplayMetrics ();
final android.content.res.Resources resources = this.context.getResources ();
final android.content.res.Configuration config = resources.getConfiguration ();

windowManager.getDefaultDisplay ().getMetrics (metrics);

final int density = metrics.densityDpi;
final int size =
config.screenLayout & android.content.res.Configuration.SCREENLAYOUT_SIZE_MASK;
final String densityText;
final String sizeText;

switch (density)
{
case android.util.DisplayMetrics.DENSITY_LOW:
{
densityText = "ldpi";
break;
}
case android.util.DisplayMetrics.DENSITY_MEDIUM:
{
densityText = "mdpi";
break;
}
case android.util.DisplayMetrics.DENSITY_HIGH:
{
densityText = "hdpi";
break;
}
case android.util.DisplayMetrics.DENSITY_XHIGH:
{
densityText = "xhdpi";
break;
}
default:
{
densityText = "unknown";
break;
}
} // switch

switch (size)
{
case android.content.res.Configuration.SCREENLAYOUT_SIZE_SMALL:
{
sizeText = "small";
break;
}
case android.content.res.Configuration.SCREENLAYOUT_SIZE_NORMAL:
{
sizeText = "normal";
break;
}
case android.content.res.Configuration.SCREENLAYOUT_SIZE_LARGE:
{
sizeText = "large";
break;
}
case android.content.res.Configuration.SCREENLAYOUT_SIZE_XLARGE:
{
sizeText = "xlarge";
break;
}
default:
{
sizeText = "unknown";
break;
}
} // switch

关于android - android如何计算res目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6213035/

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