Oll*_*e C 44 android android-notifications android-3.0-honeycomb
我发现自己好奇为什么Notification.Builder上的setLargeIcon方法只接受一个Bitmap,没有重载来提供资源id.也许这是出于性能原因而做的,但似乎很奇怪,因为setSmallIcon确实接受了res drawable id.
Notification.Builder builder = new Notification.Builder(application);
// ....
builder.setLargeIcon(iconBitmap); // Requires a Bitmap
builder.setSmallIcon(iconResId); // Requires a drawable resource ID
Notification notification = builder.getNotification();
Run Code Online (Sandbox Code Playgroud)
遗憾的是,提供的位图未在通知中缩放,因此需要为通知视图提供完全正确大小的位图.
假设我需要提供largeIcon位图的xhdpi,hdpi,mdpi和ldpi版本,它们需要具有哪些大小?我可以在文档中看到没有提及,或者在浏览更广泛的网络之后.
小智 61
没有机会检查它,但API 11引入了以下公共维度:
在通知上设置之前,应该能够使用它们来缩放图像.
too*_*o42 60
BitmapDrawable contactPicDrawable = (BitmapDrawable) ContactsUtils.getContactPic(mContext, contactId);
Bitmap contactPic = contactPicDrawable.getBitmap();
Resources res = mContext.getResources();
int height = (int) res.getDimension(android.R.dimen.notification_large_icon_height);
int width = (int) res.getDimension(android.R.dimen.notification_large_icon_width);
contactPic = Bitmap.createScaledBitmap(contactPic, width, height, false);
Run Code Online (Sandbox Code Playgroud)
然后我用这个缩放的bitamp设置大图标.
| 归档时间: |
|
| 查看次数: |
17174 次 |
| 最近记录: |