【问题标题】:Get correct Laucher icon size on Android在 Android 上获取正确的启动器图标大小
【发布时间】:2012-12-29 17:40:36
【问题描述】:

我正在开发一个能够将快捷方式图标添加到主屏幕的应用程序。 Android 平板电脑的正确图标大小是多少? (或者更好地说,如何在运行时获取它?)它似乎与 this 页面上写的不同。 我打开了 DisplayMetrics.densityDpi 并相应地更改了图标大小。但它不适用于所有设备..Gnex 似乎没问题,但我的 Galaxy Tab 在使用DisplayMetrics.DENSITY_MEDIUM 设备时仅显示 48x48px 图标(如指南中所述),但通常的启动器图标是 72x72 像素而不是 48x48 - 它与指南不同?它是否可能与 TouchWiz UI 有关,因此与纯 Android 不同?或者问题出在哪里?还需要注意的是,应用程序本身会显示正确的启动器图标(它从 hdpi 文件夹中获取图标),但在运行时它看起来像是 mdpi 设备:/ 谢谢

【问题讨论】:

  • 您是否使用显示度量来衡量显示尺寸?....
  • 我在 DisplayMetric.densityDpi 上有一个开关。因此我更改了图标大小
  • 稍微改变了问题,现在应该更容易理解了..谢谢

标签: android icons android-launcher


【解决方案1】:

Android 平板电脑在查找启动器图标时会向上看一个桶。这意味着mdpi 设备实际上会查看hdpi 文件夹。 此代码为启动器图标返回正确的大小

 ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
 int iconSize = am.getLauncherLargeIconSize();

答案基于this g+ post by Nick Butcher

【讨论】:

  • 不错。所以它用于蜂窝及更高版本,而对于较低的 API,您使用其他东西?
  • 实际上整个我的应用程序不支持低于 14 版的 API ..:) 所以这就是我使用的.. 无论如何,有多少平板电脑比蜂窝安卓版本更旧..也许 Kindles Fire?(我不确定)..我手中从来没有任何低于蜂窝操作系统版本的平板电脑..当我想到它时,我认为这只是因为在蜂窝之前根本没有任何平板电脑支持Android,它可以和手机一样......(没有一个桶规则)
  • 对于 APIstackoverflow.com/questions/18635135/…
【解决方案2】:

最好使用android assets studio tool 来完成这项任务。

它会自动创建正确的尺寸并将它们放在正确的文件夹中。

【讨论】:

  • 好的..可能是写得不好的问题:) 我的应用程序以编程方式将快捷方式添加到主屏幕..
  • 好吧,如果它为您的应用程序本身创建快捷方式,它应该可以正常工作...使用 intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(context,R.drawable.ic_launcher));
  • ..图标是从网上下载的。基本上我有一个必须缩放(向上/向下)的位图。根据文档,这些图标应该与我的应用程序创建的完全一样..也许我忽略了某些东西,或者 TouchWiz UI 太奇怪了..(肯定是:D)我会尝试以平板电脑分辨率运行模拟器,我会看那里的图标..
  • 所以使用这个:developer.android.com/reference/android/content/…,并使用正确大小的图标(正如我所写的工具所使用的那样)。
  • 这正是我正在做的事情:) 我现在尝试不是通过显示指标而是从实际的 R.drawable.ic_launcher 资源中获取大小。仍然得到 48 而不是 72 ..(我没有在运行时创建应用程序本身的快捷方式,但该应用程序基本上会创建其他应用程序的各种快捷方式,..)
猜你喜欢
  • 2012-09-27
  • 2023-03-27
  • 2013-09-09
  • 1970-01-01
  • 2012-09-03
  • 1970-01-01
  • 2015-07-08
  • 1970-01-01
  • 2014-12-04
相关资源
最近更新 更多