gpt4 book ai didi

Android 通知 - 普通 View 通知上的操作按钮(不扩展到大 View )

转载 作者:行者123 更新时间:2023-11-29 14:13:29 25 4
gpt4 key购买 nike

我正在尝试为我的应用程序创建一个通知,它具有常用的图标、标题和子文本,但在通知的右侧还有一个操作按钮,而无需扩展到大模式。文本行总是很短,所以按钮有足够的空间。目前看起来像这样

1

但是当它被另一个通知压缩到普通 View 时,它看起来像这样并且失去了按钮

2

我已经使用 RemoteViews 创建了一个自定义 View ,但问题是我不想手动设置图标和文本的位置和样式。让系统继续照顾它们,在多个设备上会更加可靠。

是否可以将我自己的按钮添加到第二张图片中通知显示方式的右侧?有点像将远程 View 的一个元素与 Android 生成的标准布局相结合?根据我的阅读,我认为在普通 View 中只使用操作按钮是不可能的?

我希望能够这样做的原因是允许用户点击闹钟以确认他们已经看到它,这样它就不会响起,但他们仍然会收到即将发生的事件的通知。单击警报按钮以外的任何地方都应该像正常一样打开应用程序。

代码方面,它看起来像这样,远程 View 被注释掉了。

    RemoteViews remoteViews = new RemoteViews(activity.getPackageName(),
R.layout.custom_notification);

String eventDescription = preferences.getString(activity.getResources().getString(R.string.next_event_description), "Freemasons run the country");
String eventTime = preferences.getString(activity.getResources().getString(R.string.next_event_time), "00:00");

NotificationManager notificationManager = (NotificationManager)
activity.getSystemService(activity.NOTIFICATION_SERVICE);

Intent intent = new Intent(activity, MainActivity.class);
PendingIntent pIntent = PendingIntent.getActivity(activity, 0 , intent, 0);

Notification.Action action = new Notification.Action.Builder(
Icon.createWithResource(activity, R.mipmap.alarm_icon),
nextEventAlarmMinutes.toString(),
pIntent).build();

Notification.Builder builder = new Notification.Builder(activity)
//.setContent(remoteViews)
.setContentTitle(eventDescription)
.setContentText(eventTime)
.setSmallIcon(R.mipmap.alarm_icon)
.setContentIntent(pIntent)
.addAction(action)
//.setPriority(Notification.PRIORITY_HIGH)
.setWhen(0)
.setVisibility(Notification.VISIBILITY_PUBLIC)
.setAutoCancel(false);

notificationManager.notify(0, builder.build());

自定义 View xml只有一个相对布局和一个按钮

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:padding="10dp" />

是否有可能是相对布局覆盖了整个内容,我可以仅将按钮用作 View 而无需父 View 持有它?

最佳答案

即使在通知折叠时,您也可以使用带有媒体控件的通知来显示操作按钮。请参阅文档 here.

关于Android 通知 - 普通 View 通知上的操作按钮(不扩展到大 View ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38585216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com