BigTextStyle: लंबा टेक्स्ट दिखाने वाला नोटिफिकेशन
जब नोटिफिकेशन का टेक्स्ट एक लाइन से ज्यादा हो, तो NotificationCompat.BigTextStyle उपयोग करें। एक्सपैंड करने पर पूरा टेक्स्ट दिखता है।
चरण 1-2: प्रोजेक्ट और लेआउट
सामान्य बटन वाला लेआउट।
चरण 3: MainActivity — BigTextStyle + स्ट्रिंग रिसोर्स
लंबा टेक्स्ट strings.xml में रखना बेहतर है:
<!-- res/values/strings.xml --> <string name="lorem_ipsum">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</string>
package app.tutorialspoint.com.notifyme;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
public class MainActivity extends AppCompatActivity {
public static final String NOTIFICATION_CHANNEL_ID = "10001";
private final static String default_notification_channel_id = "default";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void createNotification(View view) {
NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(MainActivity.this, default_notification_channel_id);
mBuilder.setContentTitle("Notify Me");
// लंबा टेक्स्ट स्ट्रिंग रिसोर्स से
String longText = getResources().getString(R.string.lorem_ipsum);
mBuilder.setContentText(longText);
// BigTextStyle लगाएं
mBuilder.setStyle(new NotificationCompat.BigTextStyle().bigText(longText));
mBuilder.setSmallIcon(R.drawable.ic_launcher_foreground);
mBuilder.setAutoCancel(true);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
int importance = NotificationManager.IMPORTANCE_HIGH;
NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "NOTIFICATION_CHANNEL_NAME", importance);
mBuilder.setChannelId(NOTIFICATION_CHANNEL_ID);
assert mNotificationManager != null;
mNotificationManager.createNotificationChannel(notificationChannel);
}
assert mNotificationManager != null;
mNotificationManager.notify((int) System.currentTimeMillis(), mBuilder.build());
}
}
चरण 4: मैनिफेस्ट
मानक मैनिफेस्ट।
BigTextStyle की विशेषताएं
- bigText(CharSequence) — पूरा लंबा टेक्स्ट सेट करता है
- setBigContentTitle() — एक्सपैंडेड व्यू में अलग बड़ा शीर्षक
- setSummaryText() — नीचे सारांश लाइन
- कॉलैप्स्ड व्यू में
setContentText()का पहला हिस्सा दिखता है - टेक्स्ट अपने आप लाइन ब्रेक होता है, स्क्रॉल नहीं होता
BigTextStyle vs InboxStyle
BigTextStyle — एक सतत लंबा पैराग्राफ (लेख, विवरण)।
InboxStyle — अलग-अलग लाइनें/आइटम (संदेश सूची, ईमेल प्रीव्यू)।
ऐप चलाएं, नोटिफिकेशन बनाएं, फिर नोटिफिकेशन शेड में नीचे खींचें — पूरा लोरम इप्सम टेक्स्ट दिखेगा।