【问题标题】:Programmatically get launcher's icon size以编程方式获取启动器的图标大小
【发布时间】:2012-09-03 07:26:10
【问题描述】:

我正在尝试以编程方式获取启动器的图标大小。它在设备之间有所不同。我没有预先拥有资产,我正在创建它们。

我能否以某种方式查询特定启动器的正确图标尺寸?

【问题讨论】:

  • 如果您正在创建资产,那么您可以简单地引用资产并执行 getWidth/Height 吗?

标签: android icons launcher shortcuts


【解决方案1】:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch(metrics.densityDpi){
     case DisplayMetrics.DENSITY_LOW:
                break;
     case DisplayMetrics.DENSITY_MEDIUM:
                 break;
     case DisplayMetrics.DENSITY_HIGH:
                 break;
}

获取密度后...您将知道使用了哪个启动器图标及其尺寸。

【讨论】:

  • 不幸的是,nexus 10 是错误的。它使用 xxhdpi 启动器图标,但它是 xdpi 设备。
【解决方案2】:

http://developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html

ldpi (120 dpi) 36 x 36 像素
mdpi (160 dpi) 48 x 48 像素
hdpi (240 dpi) 72 x 72 像素
xhdpi (320 dpi) 96 x 96 像素

【讨论】:

  • 以编程方式,我如何知道我的屏幕的密度?
  • 比例总是screensize / (10/3)吗?
  • DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm);你的密度是 dm.density (很长)
猜你喜欢
  • 1970-01-01
  • 2016-12-22
  • 1970-01-01
  • 1970-01-01
  • 2017-07-12
  • 2010-10-22
  • 1970-01-01
  • 2011-12-29
  • 1970-01-01
相关资源
最近更新 更多