Glide 入门到精通之十——加载图片到通知栏和应用小部件中

加载图片到

Glide 入门到精通之十——加载图片到通知栏和应用小部件中

文章插图
通知栏图标对用户来说是重要的上下文 。用 . 来直接设置大的通知图片,但是图像必须以的形式 。如果图片在手机上已经是可用的,这并没什么问题 。然而,如果图片斌不在设备上并且需要从网上加载的话,使用标准的方式来处理就变得不可能了 。
让 Glide 来做吧 。上篇博客中,我们看了如何用将图片以的形式下载下来 。理论上说,你可以利用这种方式去加载图片到你的通知栏中 。但这并不是必须的,因为 Glide 提供了一个更加方便舒适的方式: 。
所以,让我们来看代码 。现在你知道 Glide是如何工作的了,因此我们不会再去用它了 。为了显示一张大图片在通知栏,你可以使用并显示一个自定义的通知栏 。
Glide 入门到精通之十——加载图片到通知栏和应用小部件中

文章插图

Glide 入门到精通之十——加载图片到通知栏和应用小部件中

文章插图
【Glide 入门到精通之十——加载图片到通知栏和应用小部件中】我们自定义的通知栏比较简单:
自定义布局ion.xml

下面的代码用了上面的布局文件为我们创建了一个自定义通知 。
final RemoteViews rv = new RemoteViews(context.getPackageName(), R.layout.remoteview_notification);rv.setImageViewResource(R.id.remoteview_notification_icon, R.mipmap.future_studio_launcher);rv.setTextViewText(R.id.remoteview_notification_headline, "Headline");rv.setTextViewText(R.id.remoteview_notification_short_message, "Short Message");// build notificationNotificationCompat.Builder mBuilder =new NotificationCompat.Builder(context).setSmallIcon(R.mipmap.future_studio_launcher).setContentTitle("Content Title").setContentText("Content Text").setContent(rv).setPriority( NotificationCompat.PRIORITY_MIN);final Notification notification = mBuilder.build();// set big content view for newer androidsif (android.os.Build.VERSION.SDK_INT >= 16) {notification.bigContentView = rv;}NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);mNotificationManager.notify(NOTIFICATION_ID, notification);
这个代码片段为我们创建了三个重要的对象,和以及常量。我们会需要这些去创建一个通知。
private NotificationTarget notificationTarget;...notificationTarget = new NotificationTarget(context,rv,R.id.remoteview_notification_icon,notification,NOTIFICATION_ID);
Glide 入门到精通之十——加载图片到通知栏和应用小部件中

文章插图
最后,我们要调用 Glide,正如我们之前博客所做的,将作为 .into() 的参数 。
Glide.with( context.getApplicationContext() ) // safer!.load( eatFoodyImages[3] ).asBitmap().into( notificationTarget );
App
让我们来看另一个 Glide。应用小部件一直以来都是的一部分 。如果你的 App 提供了小部件并且包含图像,这部分应该会让你感兴趣的 。Glide 的 能显著的让你非常简单的实现 。