টুলবার/অ্যাকশনবারে ডাইনামিক বেজ নম্বর দেখানো (১০০৬০৬১৫৬৪-এর অনুরূপ)
এই আর্টিকেলটি পূর্বের ১০০৬০৬১৫৬৪ নম্বর আর্টিকেলের প্রায় সমান কোড ও কনসেপ্ট ধারণ করে। একইভাবে `Toolbar`-এর মধ্যে কাস্টম `RelativeLayout` ব্যবহার করে একটি বেল আইকন এবং তার উপরে একটি `TextView`-এ নোটিফিকেশন কাউন্ট দেখানো হয়েছে।
প্রধান কোড স্নিপেট (সারসংক্ষেপ)
লেআউট (activity_main.xml)
<Toolbar ...>
<RelativeLayout ...>
<TextView ... android:text="Notify Me" ... />
<RelativeLayout android:id="@+id/notificationBadge" ...>
<RelativeLayout android:id="@+id/badgeLayout" ...>
<Button android:background="@drawable/action_notification" ... />
</RelativeLayout>
<TextView
android:id="@+id/tvBadgeNumber"
android:background="@drawable/item_count"
android:text="0" ... />
</RelativeLayout>
</RelativeLayout>
</Toolbar>
MainActivity.java
static int notificationCount = 0;
TextView tvBadgeNumber;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvBadgeNumber = findViewById(R.id.tvBadgeNumber);
}
public void createNotification(View view) {
// ... নোটিফিকেশন তৈরি কোড (পূর্বের আর্টিকেলের মতো) ...
notificationCount++;
tvBadgeNumber.setText(String.valueOf(notificationCount));
}
Drawable: item_count.xml
<shape android:shape="rectangle">
<corners android:radius="8dp" />
<solid android:color="#2196F3" />
<stroke android:width="1dip" android:color="#FFF" />
<padding android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="2dp" />
</shape>
AndroidManifest.xml
স্ট্যান্ডার্ড ম্যানিফেস্ট, `VIBRATE` পারমিশন সহ।
উন্নতি: BadgeDrawable (Material Components)
আধুনিক Material Components লাইব্রেরি (`com.google.android.material:material:1.6.0+`) দিয়ে আরও সহজে বেজ করা যায়:
// Menu item-এ বেজ যোগ BadgeDrawable badgeDrawable = BadgeDrawable.create(this); badgeDrawable.setNumber(notificationCount); badgeDrawable.setVisible(true); badgeDrawable.setBadgeGravity(BadgeDrawable.TOP_END); // Toolbar/MenuItem-এ অ্যাটাচ BottomNavigationView bottomNav = findViewById(R.id.bottom_nav); bottomNav.getOrCreateBadge(R.id.menu_notifications).setNumber(notificationCount);
পরীক্ষা
অ্যাপ রান করুন → বাটন চাপুন → টুলবারের বেল আইকনের উপরে সংখ্যা বাড়বে।
