2015-07-15 14 views
5

Z jakiegoś powodu nie mogę wykonać tego prostego projektu koncepcyjnego dotyczącego zużycia systemu Android. Chcę, aby powiadomienie o zużyciu miało jednolitą kolorystykę w wybranym przeze mnie kolorze. Oto, co próbuję zrobić:Android Wear - używaj określonego jednolitego koloru dla tła powiadomień

NotificationCompat.Builder builder = new NotificationCompat.Builder(this); 
    builder 
      .setContentTitle("title") 
      .setSmallIcon(R.mipmap.ic_launcher) 
      .setContentText("Text") 
      .setColor(Color.YELLOW); 

    Notification notification = builder.build(); 
    notificationManager.notify(123456, notification); 

Jak widać, ustawiam kolor powiadomienia na żółty. A to ustawia tło na powiadomieniu na żółty w telefonie. Ale z jakiegoś powodu kolor tła na powiadomieniu, które widzę na Androidzie Wear, jest zielony. Zobacz załączone zrzuty ekranu.

enter image description here

enter image description here

Próbowałem rozszerzenie powiadamiania budowniczy z WearableExtender, ale nie ma "setColor" -jak metody, tylko "setBackground". Dlaczego Wear ignoruje określony kolor powiadomienia? I skąd bierze się ten zielony kolor tła? Jak mogę zmienić ten kolor?

Odpowiedz

10

Zielone tło z Twojego koloru ikony.

enter image description here

Można zadzwonić WearableExtender setBackground metoda

int notificationId = 001; 

    Bitmap bitmap = Bitmap.createBitmap(320,320, Bitmap.Config.ARGB_8888); 
    bitmap.eraseColor(Color.YELLOW); 

    NotificationCompat.Builder builder = new NotificationCompat.Builder(this); 
    builder.setContentTitle("title") 
      .setSmallIcon(R.mipmap.ic_launcher) 
      .setContentText("Text") 
      .extend(new NotificationCompat.WearableExtender().setBackground(bitmap)); 

    NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(this); 
    notificationManagerCompat.notify(notificationId , builder.build()); 

enter image description here

+0

To działa, ale dlaczego 320x320 dla kolorem? 1x1 działa również i oszczędza trochę pamięci. –