Lollipop에서 알림 아이콘 배경 변경


79

나는 통해가는 알림 디자인 패턴 및 알림 아이콘 배경에 대해 이야기하는 아무것도 찾지 못했습니다. 아시다시피, 사용자 지정 알림에 대한 배경은 밝은 회색뿐입니다. 그러나 행 아웃과 같은 앱 또는 단순히 USB 디버깅 알림은 알림 아이콘 배경에 맞춤 색상을 사용합니다.

그 회색을 다른 것으로 바꿀 가능성이 있습니까? (프로그래밍 방식으로 특정 원의 색상)

그림보기


녹색 배경의 특수 아이콘이있을 수 있습니까?
Ahmed Hegazy 2014

누구에게나 여전히 중요한지 확실하지 않지만 Android 6.1 이후 알림의 "회색 배경"을 변경할 수있는 새 플래그 "NotificationCompat.Builder.setColorized (boolean colorize)"가 있습니다.
Tobias Reich

답변:


158

1) 색상 획득

int color = 0xff123456;
int color = getResources().getColor(R.color.my_notif_color);
int color = ContextCompat.getColor(context, R.color.my_notif_color);

2) 알림에 색상 설정

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

색상은 Lollipop에서만 적용 되며 작은 아이콘의 배경에만 영향을줍니다 . 큰 아이콘이 표시되면 그 내용은 전적으로 귀하의 책임입니다.

출처 : NotificationCompat.Builder # setColor (int)


11
이에 따르면 : stackoverflow.com/a/27023679/327011 setColor는 작은 아이콘의 색상 만 변경합니다. 조심하세요.
neteinstein 2014

5
1) 이것은에서만 작동합니다 LOLLIPOP. 2)에서 제공 한 이미지에는 영향을주지 않습니다 setLargeBitmap. 작은 아이콘의 배경 만 채색합니다.
Eugen Pechanec 2014

당신은이 댓글 아래 내 솔루션을 시도 할 수 있습니다 @AlexVPerl
satyapol

1
큰 아이콘을 설정하지 않으면 "setColor"가 정답입니다. 배경으로 my_notif_color와 함께 작은 아이콘이 크게 표시되고 작은 배지가 추가되지 않습니다. 안드로이드 6.0에서 테스트
LODA

아이콘을 녹색으로 설정하는 데 문제가 있지만 알림이 표시되면 자동으로 흰색으로 변경됩니다.
HUSNAIN SARWAR

10

colors.xml에서 색상을 정의한 경우 NotificationBuilder에서 다음과 같이 값을 추가합니다.

.setColor(getResources().getColor(R.color.<YOUR_COLOR>))

그것은 당신의 문제를 해결할 것입니다. 아이콘의 배경에만 영향을 미칩니다.


아이콘을 녹색으로 설정하는 데 문제가 있지만 알림이 표시되면 자동으로 흰색으로 변경됩니다.
HUSNAIN SARWAR

3

getColor(int) 에 더 이상 사용되지 않습니다 Resources

이제 다음 대안 중 하나를 사용해야합니다.


난 내가 아이콘을 설정 문제가 녹색을 가지고 있지만 알림 표시 때 .. 자동으로 흰색으로 변경이
HUSNAIN SARWAR을

단색을 사용하는 경우 이전 방법이 잘 작동합니다.
Eugen Pechanec 16.

여전히 흰색 사각형 아이콘은 6.0에서만 제공되지만 5.0 이전에는 괜찮습니다.
Harsha
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.