2013-05-09 11 views
23

Moja aplikacja Android musi być w stanie wysyłać krótkie powiadomienia do dużej grupy osób. Oczywistym miejscem do zrobienia jest centrum powiadomień. Pełne powiadomienie pojawia się na pasku bez problemu, ale w centrum powiadomień użytkownik może zobaczyć tylko pierwsze kilka słów, a następnie elipsis. Powiadomienia nie trwają długo, najwyżej 10-15 słów. Jak mogę zawinąć tekst do nowej linii?Powiadomienie Android - Wyświetl całą wiadomość

Mój kod zbudować powiadomień jest tutaj

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()); 

Odpowiedz

42

Aby wyświetlić duży fragment tekstu, należy użyć BigTextStyle. Oto przykładowy kod podany w BigTextStyle. To powiadomienie będzie jednym wierszem tekstu i w razie potrzeby zostanie rozwinięte do większej liczby wierszy.

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(); 

Dla biblioteki android wsparcia

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(); 
+0

Wielkie Widoki nie są obsługiwane przed 4.1, chciałbym coś, co bardziej obsługiwany – centree

+7

'setStyle (nowa NotificationCompat.BigTextStyle(). BigText (aVeryLongString))' – likejiujitsu

+0

@ Centree Używaj NotificationCompat do obsługi nowszych funkcji powiadomień na starszych urządzeniach. http://developer.android.com/reference/android/support/v4/app/NotificationCompat.html – pmont

4

Na Androidzie 4.1 i nowszych urządzeniach Powiększenie jest najbardziej odpowiednim rozwiązaniem, aby zobaczyć dużą ilość tekstu. W przypadku urządzeń z wersji 4.1 można użyć niestandardowego układu powiadomień, aby wyświetlić więcej danych, takich jak wspomniano: here. Ale należy pamiętać, dwie rzeczy:

  1. Z official documentation

    Uwaga: W przypadku korzystania z niestandardowych układ powiadamiania, należy zachować szczególną ostrożność, aby upewnić się, że układ niestandardowy współpracuje z różnymi orientacjami urządzeń i rozdzielczościach. Chociaż to zalecenie dotyczy wszystkich układów widoku, jest to szczególnie ważne w przypadku powiadomień, ponieważ przestrzeń w szufladzie powiadomień jest bardzo ograniczona. Nie twórz zbyt skomplikowanego układu niestandardowego i sprawdź go w różnych konfiguracjach.

  2. Niestandardowe układy powiadomień mają pewne ograniczenia. Zbyt długie teksty nie są wyświetlane w całości, ale 10-15 słów prawdopodobnie pasuje do niestandardowego układu. This answer ma więcej informacji na temat ograniczenia układów niestandardowych powiadomień
Powiązane problemy