【问题标题】:Determining Screen Density确定屏幕密度
【发布时间】:2013-09-26 22:30:34
【问题描述】:

stackoverflow 的新手,还没有弄清楚如何在线程中提问。

这是线程:How to find the device as LDPI MDPI HDPI or XHDPI

使用的代码是:

int density= getResources().getDisplayMetrics().densityDpi;

switch(density) {
case DisplayMetrics.DENSITY_LOW:
  Toast.makeText(context, "LDPI", Toast.LENGTH_SHORT).show();
  break;
case DisplayMetrics.DENSITY_MEDIUM:
  Toast.makeText(context, "MDPI", Toast.LENGTH_SHORT).show();
  break;
case DisplayMetrics.DENSITY_HIGH:
  Toast.makeText(context, "HDPI", Toast.LENGTH_SHORT).show();
break;
case DisplayMetrics.DENSITY_XHIGH:
  Toast.makeText(context, "XHDPI", Toast.LENGTH_SHORT).show();
  break;
}

我的手机 (LG Optimus L5) 报告 MDPI (160),即使技术规格显示 144dpi,这很好,因为它与代码完美配合。但是,我的 Google Nexus 7 报告 213dpi 与常量不匹配,我找不到对密度边界的引用。

一种解决方法(我相信,Android 新手)是在密度布局文件夹的布局中放置一个隐藏常量,并检查代码中的常量以查看正在使用的密度常量。

问题是:如果设备报告的值与常量不匹配,我能否在没有布局中常量的代码中确定该值?

谢谢

【问题讨论】:

  • “我的 Google Nexus 7 报告 213dpi 与常量不匹配” -- yes, it does。 “设备报告的值与常数不匹配”——你打算做什么,需要精确的密度而不是一般的密度桶?

标签: android constants dpi


【解决方案1】:
【解决方案2】:

我还拥有一台 Google Nexus 7,我知道它的密度为 tvdpi

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 2015-07-05
    • 1970-01-01
    相关资源
    最近更新 更多