26

私の Android アプリケーションは、大勢の人々に短いアラートを送信できる必要があります。これを行う明白な場所は、通知センターです。完全な通知は問題なくティッカーに表示されますが、通知センターでは、ユーザーは最初の数語と省略記号しか表示できません。通知は長くはなく、せいぜい 10 ~ 15 語程度です。テキストを新しい行に折り返すにはどうすればよいですか?

通知を作成するための私のコードはこちら

    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
    .setSmallIcon(R.drawable.splash)
    .setContentTitle("Student Engauge")
    .setContentText(extras.getString("message"))
    .setAutoCancel(true)
    .setTicker(extras.getString("message"));
    final int notificationId = 1;
    NotificationManager nm = (NotificationManager) getApplicationContext()
          .getSystemService(Context.NOTIFICATION_SERVICE);
    nm.notify(notificationId, mBuilder.build());
4

2 に答える 2

51

大量のテキストを表示するには、BigTextStyle を使用します。BigTextStyleで指定されたサンプル コードを次に示します。この通知は 1 行のテキストで、必要に応じてさらに多くの行に展開されます。

Notification noti = new Notification.Builder()
 .setContentTitle("New mail from " + sender.toString())
 .setContentText(subject)
 .setSmallIcon(R.drawable.new_mail)
 .setLargeIcon(aBitmap)
 .setStyle(new Notification.BigTextStyle()
     .bigText(aVeryLongString))
 .build();

Android サポート ライブラリの場合

Notification noti = new Notification.Builder()
 .setContentTitle("New mail from " + sender.toString())
 .setContentText(subject)
 .setSmallIcon(R.drawable.new_mail)
 .setLargeIcon(aBitmap)
 .setStyle(new NotificationCompat.BigTextStyle()
     .bigText(aVeryLongString))
 .build();
于 2013-05-09T20:47:55.700 に答える
4

Android 4.1 以降のデバイスの場合、大量のテキストを表示するには、ビッグ ビューが最適なソリューションです。4.1 より前のデバイスの場合、カスタム通知レイアウトを使用して、ここで説明されているように、より多くのデータを表示できます。ただし、次の 2 つの点に注意する必要があります。

  1. 公式ドキュメントより

    注意: カスタム通知レイアウトを使用する場合は、カスタム レイアウトがさまざまなデバイスの向きと解像度で機能するように特に注意してください。このアドバイスはすべてのビュー レイアウトに当てはまりますが、通知ドロワーのスペースは非常に限られているため、通知に関しては特に重要です。カスタム レイアウトを複雑にしすぎないようにし、さまざまな構成でテストしてください。

  2. カスタム通知レイアウトにはいくつかの制限があります。長すぎるテキストは完全に表示されませんが、10 ~ 15 語がカスタム レイアウトに収まる可能性があります。 この回答には、カスタム通知レイアウトの制限に関する詳細情報があります
于 2013-11-17T21:50:08.373 に答える