Estoy tratando de crear algunas notificaciones personalizadas para mi aplicación.
Por lo general, los diseños de vista contraída están limitados a 64 dp y los diseños de vista expandida están limitados a 256 dp.
Aunque consideré estas restricciones, parece que la notificación se corta en varios teléfonos, como puede ver en las capturas de pantalla a continuación. Investigué un poco sobre eso porque pensé que también hay restricciones dependiendo de los diferentes fabricantes o interfaces de usuario, pero no pude encontrar nada.
Así es como se implementa:
// 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)Aquí está el resultado:
Ahora las preguntas son: ¿Fallé la implementación de alguna manera? Si no, ¿hay alguna manera de averiguar el máximo? altura de notificación para un teléfono actual mediante programación?
La Notification (su RemoteView ) que ve es creada por otro proceso y solo ese proceso puede saber el tamaño
No existe una forma oficial de obtener la altura máxima para la notificación personalizada. Creo que la única forma de hacerlo es reducir el tamaño del texto.
Se cortan debido a las acciones que está agregando, intente eliminar las acciones y obtendrá sus 256/64 dp completos.