-
Notifications
You must be signed in to change notification settings - Fork 540
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
badge not hiding on 0 entered. #90
Comments
me ,two |
me,too |
该问题是因为重复创建了BadgeView。应该让BadgeView只创建一次。 |
The problem is @OverRide Try editing it in your source since apparently the developer ditched the project 2 years ago |
I stumbled upon this issue but found a (rather hacky) way to solve this without having to modifying the library yourself If you use Kotlin in your project, you can use this extension function snippet // Extensions
fun QBadgeView.setup(count: Int, targetView: View) {
this
.setBadgeNumber(count)
.setBadgeGravity(Gravity.TOP or Gravity.END)
// add other setter / options according to your own need
.bindTarget(targetView)
if (count == 0) {
val parent = this.targetView.parent
if (parent is ViewGroup) {
parent.children.forEach { child ->
if (child is QBadgeView) { child.isVisible = false }
}
}
}
}
// Usage
private fun setupView() {
// val count = someMethodToGetCount()
// val targetView = the view from findViewById / viewBinding / kotlin_synthetic
QBadgeView(context).setup(count, targetView)
} Basically, we just simply set the BadgeView's visibility to GONE when our number / count is 0 val parent = this.targetView.parent // "this" is the BadgeView object
if (parent is ViewGroup) {
// Iterate the children to search for BadgeView object
parent.children.forEach { child ->
if (child is QBadgeView) {
child.isVisible = false // If it's a BadgeView, we set visibility to gone,
// isVisible is just a nicer way to do it from core-ktx library
// otherwise just use setVisibility( ... )
}
}
} Hope this helpful |
neither the hide method nor the 0 input can hide the badge...
The text was updated successfully, but these errors were encountered: