我需要获取所有已安装应用程序的图标。为此,我使用这种方法getPackageManager().getApplicationIcon(appPackageName)
,但我得到了不同大小的图标。我查看了很多关于此的主题。有一个选项可以使用这个方法public Drawable getFullResIcon(Resources resources, int iconId)
,但它只适用于Android 3.0及更高版本,但我需要从2.1到4.2。我也尝试使用Uri.parse("android.resource://com.my.package/" + R.drawable.icon)
获取图标,但我没有找到足够的信息。此外,还有将大图标压缩到所需大小的选项,但图像质量会丢失。现在我想问你:谁知道如何获得相同大小的已安装应用程序的图标?
答案 0 :(得分:2)
PackageManager.getApplicationIcon
或ApplicationInfo.loadIcon
返回其应用程序中原始大小的图标。
如果某个应用的图标尺寸错误(不等于48x48 dp),则无法对其进行任何操作。
但是,您可以定义ImageView
以使用您定义的尺寸显示此类图标。只需在xml中使用android:layout_width="48dp" android:layout_height="48dp"
,而不是通常的wrap_content
。
答案 1 :(得分:1)
您可能需要查看视图下的api演示。然后去网格;那里有一些例子可以帮到你。