কম্পিউটার টিউটোরিয়াল

অ্যাকশনবারে নোটিফিকেশন কাউন্টসহ আইকন তৈরি করা


টুলবার/অ্যাকশনবারে ডাইনামিক বেজ নম্বর দেখানো (১০০৬০৬১৫৬৪-এর অনুরূপ)

এই আর্টিকেলটি পূর্বের ১০০৬০৬১৫৬৪ নম্বর আর্টিকেলের প্রায় সমান কোড ও কনসেপ্ট ধারণ করে। একইভাবে `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);

পরীক্ষা

অ্যাপ রান করুন → বাটন চাপুন → টুলবারের বেল আইকনের উপরে সংখ্যা বাড়বে।

অ্যাকশনবারে নোটিফিকেশন কাউন্টসহ আইকন তৈরি করা অ্যাকশনবারে নোটিফিকেশন কাউন্টসহ আইকন তৈরি করা

  1. অ্যান্ড্রয়েডে একশনবার স্থায়ীভাবে নিষ্ক্রিয় করার পদ্ধতি

  2. অ্যান্ড্রয়েডে অ্যাকশন বার টাইটেল সেন্টার অ্যালাইন করার পদ্ধতি

  3. অ্যান্ড্রয়েডে ActionBar/Toolbar-এর উচ্চতা পাওয়ার পদ্ধতি

  4. Android-এ অ্যাকশন বারের আকার পরিবর্তন করার পদ্ধতি