본문 바로가기

나의 플랫폼/안드로이드

[Android] Notification icon

Lollipop 이후 Notification Icon을 좀 다른 형태로 바꿔야 한다.


이전에는 대부분 App icon을 그대로 사용하여서 뿌렸었지만,

Lollipop 부터는 배경색을 지정하고 가운데에 특정 icon만 넣을 수 있습니다.

FloatingActionButton 이랑 똑같다고 보면 될듯 하네요.


아래 내용을 참고 하세요.


For instance:

Notification notification = new Notification.Builder(context)
            .setAutoCancel(true)
            .setContentTitle("My notification")
            .setContentText("Look, white in Lollipop, else color!")
            .setSmallIcon(getNotificationIcon())
            .build();

    return notification;

And, in the getNotificationIcon method:

private int getNotificationIcon() {
    boolean useWhiteIcon = (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP);
    return useWhiteIcon ? R.drawable.icon_silhouette : R.drawable.ic_launcher;
}


http://stackoverflow.com/a/29207365/3534559


1) Define color:

int color = getResources().getColor(R.color.my_notif_color);

or

int color = 0xff123456;

2) Set the color to the notification:

NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
...
builder.setColor(color);
Notification notif = builder.build();

Note that the color is respected only on LOLLIPOP.

http://stackoverflow.com/a/27344708/3534559


위와 같이 문제 없이 했는데~!! 배경 색깔만 바뀌고 icon은 하얀색으로만 나오신다고 하시는 분들 참고하세요.

setSmallIcon 부터는 Icon을 단색으로 만드셔야 합니다. 그것도 하얀색으로요.

http://romannurik.github.io/AndroidAssetStudio/icons-notification.html#source.space.trim=1&source.space.pad=0&name=ic_stat_example

위 사이트에 이미지를 넣어보시고, 사이트 하단에 결과 화면까지 나오니! 

확인하시고 넣으시면 좋을듯 합니다.

참고하세요.