나는 통해가는 알림 디자인 패턴 및 알림 아이콘 배경에 대해 이야기하는 아무것도 찾지 못했습니다. 아시다시피, 사용자 지정 알림에 대한 배경은 밝은 회색뿐입니다. 그러나 행 아웃과 같은 앱 또는 단순히 USB 디버깅 알림은 알림 아이콘 배경에 맞춤 색상을 사용합니다.
그 회색을 다른 것으로 바꿀 가능성이 있습니까? (프로그래밍 방식으로 특정 원의 색상)
나는 통해가는 알림 디자인 패턴 및 알림 아이콘 배경에 대해 이야기하는 아무것도 찾지 못했습니다. 아시다시피, 사용자 지정 알림에 대한 배경은 밝은 회색뿐입니다. 그러나 행 아웃과 같은 앱 또는 단순히 USB 디버깅 알림은 알림 아이콘 배경에 맞춤 색상을 사용합니다.
그 회색을 다른 것으로 바꿀 가능성이 있습니까? (프로그래밍 방식으로 특정 원의 색상)
답변:
int color = 0xff123456;
int color = getResources().getColor(R.color.my_notif_color);
int color = ContextCompat.getColor(context, R.color.my_notif_color);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
...
builder.setColor(color);
Notification notif = builder.build();
색상은 Lollipop에서만 적용 되며 작은 아이콘의 배경에만 영향을줍니다 . 큰 아이콘이 표시되면 그 내용은 전적으로 귀하의 책임입니다.
LOLLIPOP
. 2)에서 제공 한 이미지에는 영향을주지 않습니다 setLargeBitmap
. 작은 아이콘의 배경 만 채색합니다.
colors.xml에서 색상을 정의한 경우 NotificationBuilder에서 다음과 같이 값을 추가합니다.
.setColor(getResources().getColor(R.color.<YOUR_COLOR>))
그것은 당신의 문제를 해결할 것입니다. 아이콘의 배경에만 영향을 미칩니다.
getColor(int)
에 더 이상 사용되지 않습니다 Resources
이제 다음 대안 중 하나를 사용해야합니다.
Resources
'에스 getColor (int, Theme)ContextCompat
의 getColor (Context context, int id)