2

中的文本我需要在我的android應用程序中顯示通知。如何在通知內容中顯示圖標和文本android

我使用下面的代碼:

NotificationCompat.Builder mBuilder= new NotificationCompat.Builder(baseContext).setLargeIcon(large_icon) 
       .setSmallIcon(R.drawable.message_received_small_icon) 
       .setContentIntent(pendingIntent) 
       .setAutoCancel(true) 
       .setSound(soundUri); 
       .setContentTitle("New Message"); 
       .setContentText("video"); 

該通知顯示在左邊,收到的消息圖標。在收到的郵件圖標右側,它顯示「DHan Nexus」作爲標題,在其下方顯示「照片」。

但不是隻顯示「照片」字符串,我想顯示相機圖標+「照片」字符串。 我還沒有找到任何方法在setContentText()API中顯示相機圖標。 請幫助如何做到這一點。我是否需要製作自定義佈局或任何默認方法都可以使用。

這裏是讓德問題更清晰圖像:

enter image description here

我試圖用spannableString同時顯示圖標和文本。但它看起來不起作用。

CharSequence cs = getContentIcon(text); 
.setContentText(cs.toString()); 
    private CharSequence getContentIcon(String text) 
    { 
     Drawable image = ContextCompat.getDrawable(baseContext, R.drawable.camera_icon); 

     image.setBounds(0, 0, image.getIntrinsicWidth(), image.getIntrinsicHeight()); 
     // Replace blank spaces with image icon 
     SpannableString sb = new SpannableString("      "+text); 
     ImageSpan imageSpan = new ImageSpan(image, ImageSpan.ALIGN_BASELINE); 
     sb.setSpan(imageSpan, 0, 20, Spannable.SPAN_INCLUSIVE_INCLUSIVE); 
     return sb; 
    } 
+1

創建通知 –

+0

我建議你給PugNotification一槍自定義佈局(http://www.halysongoncalves.com/Pugnotification/) –

回答

1

您可以使用RemoteViews自定義佈局。

請注意,Android 7牛軋糖在通知(我還沒有潛入)中有一些變化。下面的代碼是牛軋糖以下。

// for standard notification 
RemoteViews views = new RemoteViews(getPackageName(), R.layout.notification_simple); 

// for expanded notification 
// RemoteViews bigViews = new RemoteViews(getPackageName(), R.layout.notification_expanded); 

views.setImageViewBitmap(R.id.picture, YOUR_IMAGE_BITMAP_HERE); 
views.setTextViewText(R.id.text, YOUR_TEXT_HERE); 

NotificationCompat.Builder notificationBuilder = 
     new NotificationCompat.Builder(this) 
       .setSmallIcon(YOUR_NOTIFICATION_ICON) 
       .setCustomContentView(views); 
       // .setCustomBigContentView(bigViews); // if you've set it 

notification = notificationBuilder.build(); 
相關問題