Igo*_*yuk 5 android kotlin android-annotations material-components-android androidx
BadgeDrawable我会在我的 Android 应用程序中使用a Button,问题是当我尝试设置按钮布局时,badgeDrawable我attachBadgeDrawable收到一个错误,其中显示:
his declaration is opt-in and its usage should be marked with '@com.google.android.material.badge.ExperimentalBadgeUtils' or '@OptIn(markerClass = com.google.android.material.badge.ExperimentalBadgeUtils.class)'
Run Code Online (Sandbox Code Playgroud)
我使用那段代码的代码如下:
btnInvia.viewTreeObserver.addOnGlobalLayoutListener(
object : OnGlobalLayoutListener {
override fun onGlobalLayout() {
val badgeDrawable = BadgeDrawable.create(requireContext())
badgeDrawable.number = corpo
badgeDrawable.verticalOffset = 20
badgeDrawable.horizontalOffset = 15
BadgeUtils.attachBadgeDrawable(badgeDrawable, btnInvia, layoutInvia)
btnInvia.viewTreeObserver.removeOnGlobalLayoutListener(this)
}
}
)
Run Code Online (Sandbox Code Playgroud)
如果有用的话最小 SDK 是 24。
Gab*_*tti 10
该类BadgeUtils标有 androidx 注释@Experimental。通过这种方式,可以报告本例中实验性 API 的使用情况,级别 = ERROR。
在您的方法中,您必须使用以下注释之一来抑制报告:
@ExperimentalBadgeUtils
@UseExperimental(markerClass = ExperimentalBadgeUtils::class)
fun onCreate(savedInstanceState: Bundle?) {
//...
btnInvia.viewTreeObserver.addOnGlobalLayoutListener(
//..
)
}
Run Code Online (Sandbox Code Playgroud)
您还可以使用 kotlin 注释@OptIn:
@OptIn(ExperimentalBadgeUtils::class)
fun onCreate(savedInstanceState: Bundle?) {
//...
btnInvia.viewTreeObserver.addOnGlobalLayoutListener(
//..
)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6702 次 |
| 最近记录: |