2015-05-10 2 views
8

Я пытаюсь этот код,Lollipop значок уведомления слишком мал

NotificationCompat.Builder nfBuilder = new NotificationCompat.Builder(
      context) 
      ..setContentTitle(
        "XYZ") 
      .setContentText("ABC")![enter image description here][1] 
      .setContentIntent(pIntent) 
      .setDefaults(Notification.DEFAULT_ALL) 
      .setOnlyAlertOnce(true) 
      .setAutoCancel(true) 
      .setPriority(Notification.PRIORITY_HIGH) 
      .setSmallIcon(R.drawable.woj_ic_launcher); 

    Notification notification = nfBuilder.build(); 

    NotificationManager nfManager = (NotificationManager) context 
      .getSystemService(Context.NOTIFICATION_SERVICE); 

    nfManager.notify(requestCode, notification); 

Проблема, она отлично работает со всеми другими платформами, но с леденец, он показывает очень маленький значок с серым кругом вокруг него. Я попробовал изменить размеры значков и использовать метод setLargeIcon(), но до сих пор не радует.

enter image description here

+0

Могу ли я увидеть ваше изображение и его размеры –

+0

проверить обновленное изображение – Sushant

+1

Вы когда-нибудь решали это? У меня такая же проблема – Japes

ответ

3

Изображение должно иметь квадратную долю. Используйте этот инструмент (https://romannurik.github.io/AndroidAssetStudio/icons-notification.html), а затем убедитесь, что вы используете значки «Api v11», так как они имеют нужную квадратную пропорцию, более старая версия имела немного больше высоты.

Резюме: Я должен сказать, что я действительно не вижу, что вы значок слишком мал, на самом деле, что это самый большой размер значков я мог бы получить, смотри ..

The size is the same as yours

И для " серый "вопрос фона, что-то вроде Notification.Builder.setColor(Color.RED) не работает для вас?

+0

на самом деле это квадратная пропорция и прозрачный фон. Я проверю инструмент, который вы предложили. было бы полезно, если бы у вас была ссылка на этот инструмент. – Sushant

+0

@Sushant Мой плохой, просто отредактированный ответ, надеюсь, что это поможет. –

+0

Я рассмотрю это. кроме вопроса, этот фон пузыря выглядит потрясающе. можете ли вы поделиться, как вы это сделали? – Sushant

0

Вот как это выяснял, наконец:

NotificationCompat.Builder nBuilder = new NotificationCompat.Builder(getApplicationContext()); 
nBuilder.setContentTitle("notificationTitle"); 
nBuilder.setSmallIcon(R.mipmap.ic_launcher); 
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher1); 
nBuilder.setLargeIcon(bitmap); 
nBuilder.setContentText(notificationText); 

NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
notificationManager.notify(notificationId, nBuilder.build()); 
  1. Получить Drawable/MIPMAP.
  2. Преобразуйте его в растровое изображение.
  3. Установить растровое изображение с использованием setLargeIcon(Bitmap bitmap) метода NotificationCompat.Builder.

Примечание:setSmallIcon() является mendatory метод здесь. Вы не можете пропустить это.

Смежные вопросы