[英]How to add Badge on hamburger navigation menu icon with BadgeDrawable?
I add Badge
on a button like this way .我以这种方式在按钮上添加Badge
。
I want to add Badge
on hamburger navigation
menu icon with this way but I don't know how.我想用这种方式在hamburger navigation
菜单图标上添加Badge
,但我不知道如何。
I found a few solutions but none use BadgeDrawable
.我找到了一些解决方案,但没有一个使用BadgeDrawable
。
This is my code but the result is not what I want:这是我的代码,但结果不是我想要的:
activity_main:活动主:
<androidx.drawerlayout.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawerLayout_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layoutDirection="rtl">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</FrameLayout>
<com.google.android.material.navigation.NavigationView
android:id="@+id/navigationView_main"
android:layout_width="250dp"
android:layout_height="match_parent"
/>
</androidx.drawerlayout.widget.DrawerLayout>
MainActivity:主要活动:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
NavigationView navigationView = findViewById(R.id.navigationView_main);
DrawerLayout drawerLayout = findViewById(R.id.drawerLayout_main);
Toolbar toolbar = findViewById(R.id.toolbar_main);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this , drawerLayout, toolbar , 0b0, 0);
drawerLayout.addDrawerListener(toggle);
toggle.syncState();
navigationView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
BadgeDrawable badgeDrawable = BadgeDrawable.create(MainActivity.this);
badgeDrawable.setVerticalOffset(25);
badgeDrawable.setHorizontalOffset(15);
BadgeUtils.attachBadgeDrawable(badgeDrawable, navigationView, null);
navigationView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});
}
}
Result:结果:
I want like this:我想要这样:
My question: Can I add Badge
on hamburger navigation
menu icon with BadgeDrawable
?我的问题:我可以在带有BadgeDrawable
的hamburger navigation
菜单图标上添加Badge
吗?
Implement DrawerArrowDrawable
class and override the draw(canvas: Canvas) method.实现DrawerArrowDrawable
class 并覆盖 draw(canvas: Canvas) 方法。 For detailed example guide visit this link https://android.pcsalt.com/add-badge-count-to-navigation-drawer-hamburger-icon-android/有关详细的示例指南,请访问此链接https://android.pcsalt.com/add-badge-count-to-navigation-drawer-hamburger-icon-android/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.