如何在自定义通知按钮上更改图像?

时间:2017-02-08 15:40:30

标签: android android-notifications

我已经为自定义xml设置了通知,我可以成功注册点击事件。

remoteViews.setOnClickPendingIntent(R.id.notif_button, pendingIntent);

我还有一个接收onclick事件的广播接收器,没问题。

正如您所看到的,当用户释放按钮时,此事件会触发一次 。我需要一个每次用户触摸按钮时触发的事件,因此我可以更改它。就像android中的每个按钮一样。

在xml中设置选择器不起作用。我试过这个例子:

https://developer.android.com/reference/android/widget/ImageButton.html

应该可以,因为一些音乐播放器实现了这种行为。有任何想法可以实现吗?

3 个答案:

答案 0 :(得分:1)

  

如您所见,当用户释放按钮时,此事件将触发一次。

那是因为那被认为是“点击” - >触摸然后触摸同一个物体。如果您触摸某个按钮,请将其保留在屏幕上但移出它并释放然后点击将不会被触发。这就是它以这种方式运作的原因。

  

我需要每当用户触摸按钮时触发的事件

你不能拥有这个。幸运的是

  

在xml中设置选择器不起作用

选择器不适用于此。

答案 1 :(得分:0)

private NotificationTarget notificationTarget;

notificationTarget = new NotificationTarget(  
    context,
      R.id.remoteview_notification_icon,
      remoteViews,
      notification,
      NOTIFICATION_ID);

GlideApp  
    .with(context.getApplicationContext())
    .asBitmap()
      .load(eatFoodyImages[3])
      .into(notificationTarget);

For further reference please visit https://futurestud.io/tutorials/glide-loading-images-into-notifications-and-appwidgets

答案 2 :(得分:-1)

创建自定义通知...定义您的xmls添加您的选择器和背景,并创建和触发您的通知。

NotificationCompat.Builder mBuilder =         new NotificationCompat.Builder(this).setSmallIcon(R.drawable.ic_launcher);

for

如果有任何问题,请告诉我。

Best Regds