Icono de Notificación de Android

Estoy dando notificación por un servicio de fondo. En la notificación estoy mostrando una imagen, las dimensiones de la imagen son 15 * 15. Pero cuando se muestra la imagen que automáticamente se extiende a gran tamaño, por lo que se convirtió en desenfoque. No he especificado el tamaño de la imagen en mi programa. Por qué esta pasando esto

Esto se debe a que al especificar dimensiones en Java se considera automáticamente como un valor de píxel.

Deberá implementar un método auxiliar en algún lugar, lo mejor en una clase auxiliar, que calcula y devuelve un valor de píxel independiente de densidad basado en el valor de píxel proporcionado.

La ecuación es px = dip * (density / 160) de la cual obtenemos que dip = px / (density/160) .

Esta respuesta aquí es aún mejor en realidad.

Consulte las directrices de los iconos de la barra de estado: http://developer.android.com/guide/practices/ui_guidelines/icon_design_status_bar.html

Para la imagen del icono de barra de estado hdpi debe ser altura 38px (24×38),
Mdpi – 16×25
Ldpi – 12×19

Los pequeños iconos

Guildlines dice 24×24, eso es para mdpi.

Aplicando la conversión dp*density/160 obtendrá estas resoluciones de píxeles:

Ldpi 18×18
Mdpi 24×24
Hdpi 36×36
Xhdpi 48×48

(Las directrices en realidad ahora enumeran estas 4 dimensiones)

Iconos grandes de tamaño dinámico

Si está creando una imagen o cambiando el tamaño de una imagen para arreglar el área de imagen de notificación grande, puede obtener las dimensiones de píxeles de la siguiente manera:

 int width = resources.getDimensionPixelSize(android.R.dimen.notification_large_icon_width); int height = resources.getDimensionPixelSize(android.R.dimen.notification_large_icon_height); 

Consulte https://developer.android.com/reference/android/R.dimen.html#notification_large_icon_height

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.