【问题标题】:How to extend Snackbar in android (Kotlin)如何在 android (Kotlin) 中扩展 Snackbar
【发布时间】:2020-01-30 06:36:04
【问题描述】:

我想创建一个扩展 Snackbar 的类,但我在 Google 文档中找不到构造函数。我应该如何将构造函数添加到类中:

import com.google.android.material.snackbar.Snackbar

class MySnackbar : Snackbar { 
    // Error: need a constructor
}

【问题讨论】:

  • 您要添加或更改什么?

标签: android kotlin android-snackbar


【解决方案1】:

SnackBar 是 final 类,因此不能被继承。一种方法是访问 SnackBar 的视图 (snackbar.getView()) 并根据需要修改视图。

【讨论】:

    【解决方案2】:

    Snakbar 是一个 final 类,它不是继承的,但是你可以修改snakbar 的视图。

    【讨论】:

      【解决方案3】:

      您可以创建辅助构造函数,使用下面的 Kotlin 代码。

      class MyCustomSeekBar : AppCompatSeekBar {
          constructor(context: Context?) : super(context)
          constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
          constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)
      }
      
      

      希望对你有帮助。

      【讨论】:

      • 我需要 Snakbar 而不是 Seekbar。这些构造函数适用于 Seekbar、TextView、EditText,... 但不适用于 Snakbar。
      • 请查看此 URL 以自定义小吃店 UI。 [stackoverflow.com/a/33441214/12688463]
      • @PatibandhaParth 仔细检查问题,他想扩展 Snackbar 类而不是修改它的视图
      猜你喜欢
      • 2018-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多