android - 如何自定义平视通知布局?

标签 android notifications

在我的项目中,需要更改抬头通知布局。

我自定义了两个 remoteView,一个用于 Notification.contentView,一个用于 Notification.bigContentView 并且成功了。

当我想使用Notification.Builder.addAction添加点击按钮时,它将使用系统布局而不是我的。

我改变了另一种方式,我自定义布局并单击我自己的布局中的按钮,但它只显示 64dp 高度。

    Notification.Builder nb = new Notification.Builder(NotificationDemo.this);
PendingIntent pi = PendingIntent.getActivity(NotificationDemo.this, 1, new Intent(NotificationDemo.this, MainActivity.class), Intent.FLAG_ACTIVITY_NEW_TASK);
nb.setFullScreenIntent(pi, true);
nb.setSmallIcon(R.drawable.notification_icon);

//nb.addAction(R.drawable.ic_delete, getResources().getString(R.string.app_name), pi);
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.notification_demo);
RemoteViews bigcontentView = new RemoteViews(getPackageName(), R.layout.notification_demo_bigg);
Notification mNo = nb.build();
mNo.bigContentView = bigcontentView;
mNo.contentView = contentView;
nm.notify(10000, mNo);

第二种方式:

Notification.Builder nb = new Notification.Builder(NotificationDemo.this);
PendingIntent pi = PendingIntent.getActivity(NotificationDemo.this, 1, new Intent(NotificationDemo.this, MainActivity.class), Intent.FLAG_ACTIVITY_NEW_TASK);
nb.setFullScreenIntent(pi, true);
nb.setSmallIcon(R.drawable.notification_icon);

nb.addAction(R.drawable.ic_delete, getResources().getString(R.string.app_name), pi);
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.notification_demo);
RemoteViews bigcontentView = new RemoteViews(getPackageName(), R.layout.notification_demo_bigg);
Notification mNo = nb.build();
mNo.bigContentView = bigcontentView;
mNo.contentView = contentView;
nm.notify(10000, mNo);

第三种方法,我在布局中添加操作按钮。

最佳答案

在 Lollipop 中,通知有一个名为 HeadsupContentView 的新字段。使用您的自定义远程 View ,设置为 headupContentView。它是可以改变的。

关于android - 如何自定义平视通知布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30167444/

相关文章:

ruby-on-rails - 在 Rails 中实现通知

javascript - 自谷歌自动播放政策更改以来如何在网站上播放通知声音

php - 使用php和mysql的通知系统

android - Android 中 Room 根据主键自动排序

android - 在通知中使用 RatingBar

java - 将 html 字符替换为 ""(空白)并将样式应用于其中的文本

javascript - 跳过了 773 帧!应用程序可能在其主线程上做了太多工作。 [安卓网页浏览]

java - 没有 GCM 的 Android 推送通知可以在后台服务中工作,但推送通知会在预计时间之前显示

java - 动画在特定时间开始

android - 如何在android中添加对项目的引用?