2016-05-04 47 views
5

Tôi đã nâng cấp Android 6.0 và ứng dụng của tôi gặp sự cố.Màu biểu tượng thông báo của Android không bị thay đổi khi màu nền là màu trắng

khi màu nền thanh trạng thái không phải là màu trắng, biểu tượng thông báo là tốt. (biểu tượng thông báo png chỉ có màu trắng và alpha)

nhưng nếu một số ứng dụng thay đổi màu nền thành trắng thì biểu tượng thông báo của tôi không được chuyển sang màu đen.

Làm cách nào để đảo ngược biểu tượng thông báo màu trắng thành màu đen khi màu nền thanh trạng thái được đặt màu trắng theo ứng dụng khác? (Tôi không nói làm thế nào tôi có thể sử dụng biểu tượng màu.)

hình ảnh bên dưới hiển thị sự cố.

normal status

when changed background color to white, my icon is not changed to black only

  • Notification xây dựng đang

    Notification.Builder mBuilder = 
         new Notification.Builder(context) 
           .setSmallIcon(R.drawable.ic_notifications_none) 
           .setPriority(priority2) 
           .setOngoing(true); 
    
    mBuilder.setContent(generateMessageView(message)); 
    
    Intent notificationIntent = new Intent(context, MainActivity.class); 
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP 
              | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
    
    PendingIntent intent = PendingIntent.getActivity(context, 0, 
         notificationIntent, 0); 
    NotificationManager mNotificationManager = 
         (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
    mBuilder.setContentIntent(intent); 
    mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build()); 
    
  • giá trị-v23/styles.xml

    <style name="AppTheme" parent="android:Theme.Material.NoActionBar">    
    </style> 
    

** Tìm thấy giải pháp **

Tôi đã thêm biểu tượng thông báo vào thư mục có thể kéo không thể vẽ được * dpi. Bây giờ nó hoạt động.

+0

Check-out này [post] (http://stackoverflow.com/questions/28387602/notification-bar-icon-turns-white- trong-android-5-lollipop). Đồng thời đọc [tài liệu] này (http://developer.android.com/reference/android/app/Notification.Builder.html#setColor%28int%29). Hy vọng rằng bạn có thể có được một đầu mối. Chúc mừng ....:) – verbose

+0

@verbose Tôi đã đọc nhưng sẽ kiểm tra lại. cảm ơn bạn –

+0

Tôi đã thử giải pháp của bạn và nó không hoạt động cho tôi. –

Trả lời

0

Tôi nghĩ rằng sự cố nằm trong thiết bị Android 5.0 hoặc cao.

https://developer.android.com/design/patterns/notifications.html
https://developer.android.com/about/versions/android-5.0-changes.html

Đây là một giải pháp:

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

return notification; 

và phương pháp getNotificationIcon():

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

cảm ơn bạn nhưng nó không hoạt động. Tôi tìm thấy LNotifications từ mẫu Android và nó không có hình ảnh biểu tượng màu đen nhưng màu trắng sang màu đen (màu xám đậm) khi ứng dụng khác đang chạy với thanh trạng thái màu trắng. và tôi đã không tìm thấy bất kỳ loại mã đặc biệt nào của việc thay đổi màu sắc từ LNotifications. –

2

Tôi biết cuối của nó để trả lời, nhưng đối với những người khác có cùng một vấn đề ,

Tôi cũng gặp vấn đề này và tôi thấy rằng vấn đề là với biểu tượng đồ họa. Bạn có thể giải quyết vấn đề bằng cách sử dụng công cụ trực tuyến này. mở liên kết này:

https://romannurik.github.io/AndroidAssetStudio/icons-notification.html#source.type=image&source.space.trim=1&source.space.pad=0&name=ic_stat_call_white

sau đó chọn hình ảnh của bạn (với kích thước lớn), sau đó tải các tài nguyên và sao chép chúng vào dự án của bạn.

sau đó thiết lập các biểu tượng thông báo sử dụng .setSmallIcon(R.drawable.ICON_NEW_NAME)

niềm hy vọng này giúp

+0

Cảm ơn, điều này đã giải quyết được sự cố của tôi – Oblivionkey3

Các vấn đề liên quan