如何在Android汉堡菜单图标上实现徽章计数器

3
我正在尝试在汉堡菜单图标上实现计数徽章(即不是其他菜单图标)。类似于eBay应用程序中的方式。

Ebay app badge counter

有人研究过这个吗?我试图找出最干净的方法。


1
将TextView设置在菜单图标图像上方,并设置圆形背景。 - Abhinav singh
1
作为主题的一部分,汉堡菜单图标被嵌入其中。您能详细说明一下吗?那么如何更改它呢? - FlashAsh80
2
这不是重复问题,而是关于特定在汉堡菜单图标上添加徽章的问题。不涉及其他菜单图标。 - FlashAsh80
1个回答

7
使用工具栏小部件很容易实现此功能,您可以按照下面的示例来实现:
首先创建一个椭圆形。
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="#ff00"/>
</shape>

然后按照以下方式创建一个 toolbar 小部件:

<android.support.v7.widget.Toolbar
    android:layout_width="match_parent"
    android:layout_height="?actionBarSize"
    android:background="?colorPrimary">

    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent">

        <ImageView
            android:id="@+id/openMenu"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:src="@drawable/ic_menu"/>

        <TextView
            android:id="@+id/badger"
            android:layout_width="16dp"
            android:layout_height="16dp"
            android:layout_gravity="end|right|top"
            android:layout_marginTop="10dp"
            android:background="@drawable/badge"
            android:gravity="center"
            android:text="1"
            android:textColor="@color/white"/>

    </FrameLayout>
</android.support.v7.widget.Toolbar>

enter image description here


我最终删除了现有的菜单图标,并设置了一个新的带有徽章的图标,如上所述的布局。谢谢。 - FlashAsh80
@k0sh,您能详细说明一下吗?我尝试了您的代码,但最终只得到了两个汉堡图标... :-/ - ban-geoengineering
如果您使用了上面的代码,请删除汉堡图标的编程设置。 - Kosh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接