Значок Drawable вырезается из поля зрения и не отображается должным образом Android KotlinAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Значок Drawable вырезается из поля зрения и не отображается должным образом Android Kotlin

Сообщение Anonymous »

Эй, я хочу, чтобы значок можно было рисовать. Я попробовал код отсюда. BadgeDrawable не работает для представлений внутри FrameLayout, таких как кнопки, изображения, текстовые представления и т. д.? BadgeDrawable не отображается на элементах, кроме BottomNavigationView, Badge Drawable не отображается. Я успешно показываю, но проблема в том, что разрезается с бокового края. activity.kt

Код: Выделить всё

fun addBadgeDrawable(count: Int, target: View, parent: FrameLayout, context: Context) {
target.viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
override fun onGlobalLayout() {
val badgeDrawable = BadgeDrawable.create(context)
badgeDrawable.number = count
badgeDrawable.badgeGravity = BadgeDrawable.TOP_END
badgeDrawable.setBoundsFor(target, parent)
parent.foreground = badgeDrawable
target.viewTreeObserver.removeOnGlobalLayoutListener(this)
}
})
}

private fun BadgeDrawable.setBoundsFor(@NonNull anchor: View, @NonNull parent: FrameLayout) {
val rect = Rect()
parent.getDrawingRect(rect)
this.bounds = rect
this.updateBadgeCoordinates(anchor, parent)
}
Я устанавливаю значок для просмотра этой строки кода

Код: Выделить всё

addBadgeDrawable(10, binding.icon, binding.container, context)
Вывод
[img]https://i.sstatic .net/eQ7pW.png[/img]

Ожидаемый результат
Изображение


Подробнее здесь: https://stackoverflow.com/questions/696 ... oid-kotlin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»