intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, bmp) 图像偏离中心

2023-12-20

我在 Android 桌面上创建快捷方式时遇到了一些问题。

首先,我有一个 72x72 图标,我将其从 SD 卡加载到 Bitmap 对象中。

使用该位图对象,我将其设置为我的图标资源。

我遇到的问题是当我设置它时,快捷方式上的图像出现偏离中心并被切断。从屏幕指标中我得到的尺寸为 72x72,不知道这是什么意思。

Code:

Bitmap theBitmap = BitmapFactory.decodeFile("/sdcard/icon.png");
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, theBitmap)

我尝试过调整它的大小,并使用画布、可绘制对象和另一个位图让它工作,但是当重新启动手机时,它会恢复到较小的尺寸。

使用完全相同的图标作为可绘制资源使其看起来很完美,但它不是动态的:

Parcelable iconResource = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource);

使用配备 2.1 的 Samsung Epic 4g


我有类似的问题。我查看了 Launcher 源代码,发现有一个错误,如果初始位图尺寸太小,会导致图标无法正确显示。

首先将位图缩放到 128x128:

Bitmap scaledBitmap = Bitmap.createScaledBitmap(theBitmap, 128, 128, true);
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, scaledBitmap);

它会解决它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, bmp) 图像偏离中心 的相关文章

随机推荐