为什么BadgeDrawable没有显示在任何地方?我想补充的MaterialCardView,MaterialButton等它不显示。任何人都知道如何解决这个问题?或者有相同的库来替换它?
这是代码:
val badgeDrawable = BadgeDrawable.create(holder.itemView.context)
badgeDrawable.number = 10
badgeDrawable.badgeGravity = BadgeDrawable.TOP_END
badgeDrawable.backgroundColor = holder.itemView.context.getColor(R.color.colorAccent)
holder.itemView.home_cardview.overlay.add(badgeDrawable)
badgeDrawable.updateBadgeCoordinates(holder.itemView.home_cardview, null)
Run Code Online (Sandbox Code Playgroud)
这种方法也不起作用:
BadgeUtils.attachBadgeDrawable(badgeDrawable, anchor, null);
Run Code Online (Sandbox Code Playgroud)
顺便说一下,在新版本中 compatBadgeParent 是必填字段
我想在我的按钮中添加一个徽章,我该怎么做?

按钮 :
<Button
android:id="@+id/button"
android:layout_width="0dp"
android:layout_weight="1"
android:background="@drawable/badge_circle"
android:gravity="center"
android:padding="12dip"
android:text="Button"
android:textColor="#ffffff"/>
Run Code Online (Sandbox Code Playgroud) 我无法让BadgeDrawable正常工作。
使用它没有问题BottomNavigationView
navView.setupWithNavController(navController)
val badge = navView.getOrCreateBadge(R.id.navigation_home)
badge.number = 12
Run Code Online (Sandbox Code Playgroud)
但当我想在其他元素上使用它时,它不会显示。像这样:
val badgeDrawable = BadgeDrawable.create(context!!)
badgeDrawable.number = 32
BadgeUtils.attachBadgeDrawable(badgeDrawable, textView, root.findViewById(R.id.frame_layout))
Run Code Online (Sandbox Code Playgroud)
我使用 FrameLayout 只是因为这个问题修复似乎尚未发布。
布局:
<FrameLayout
android:id="@+id/frame_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/text_home"
android:src="@drawable/ic_home_black_24dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAlignment="center"
android:textSize="20sp" />
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
我正在使用最新的库版本:'com.google.android.material:material:1.2.0-rc01'
我尝试过不同的方法。但运气不好。难道这其中有什么我所遗漏的秘密吗?
这是该项目的 git 存储库(尽可能简单):https ://github.com/marcinkunert/badgeissue
android kotlin android-drawable android-studio material-components-android