我正在尝试为我的应用创建一些自定义通知。
通常,合拢的视图布局限制为64 dp,展开的视图布局限制为256 dp。
尽管我考虑了这些限制,但您似乎在以下屏幕截图中看到,该通知在多部电话上已被切断。 我对此进行了一些研究,因为我认为根据不同的制造商或用户界面也存在一些限制,但是找不到任何东西。
就是这样实现的:
// 64dp is set for height
val collapsedView = RemoteViews(packageName, R.layout.custom_notification_collapsed)
// 256dp is set for height
val expandedView = RemoteViews(packageName, R.layout.custom_notification_expanded)
val customNotification: Notification = NotificationCompat.Builder(this, "default")
.setSmallIcon(R.drawable.ic_launcher_background)
.addAction(R.drawable.ic_map, "Personal", PendingIntent.getService(this, 0, personalIntent, PendingIntent.FLAG_UPDATE_CURRENT))
.addAction(R.drawable.ic_map, "Business", PendingIntent.getService(this, 0, businessIntent, PendingIntent.FLAG_UPDATE_CURRENT))
.addAction(R.drawable.ic_map, "Work", PendingIntent.getService(this, 0, businessIntent, PendingIntent.FLAG_UPDATE_CURRENT))
.setColor(Color.parseColor("#00D8FF"))
.setStyle(NotificationCompat.DecoratedCustomViewStyle())
.setCustomContentView(collapsedView)
.setCustomBigContentView(expandedView)
.build()
notificationManager.notify(4, customNotification)
结果如下:
现在的问题是: 我是否以某种方式使实施失败? 如果没有,有没有办法找出最大值。以编程方式通知当前手机的通知高度?
答案 0 :(得分:2)
Notification
(您的RemoteView
)是由另一个进程创建的,只有该进程才能知道大小
没有官方方法来获取自定义通知的最大高度。我认为您唯一可以做的就是减小文字大小
答案 1 :(得分:0)
由于您要添加的操作,它们被切断了 尝试删除这些操作,您将获得完整的256/64 dp。