问题描述
所以我想创建一个使用自定义视图的库。我想继承View类,但这是错误的,因为我的minsdk是19。我需要我的库来支持sdk19。有没有办法解决这个问题?
class Dummy() : View(context,attrs,defStyleAttr,defStyleRes) {
解决方法
您应该为此使用另一个构造函数。您使用的一个仅可通过API 21获得。
对于自定义视图,我这样使用它:
class Dummy @JvmOverloads constructor(context: Context,attrs: AttributeSet? = null,defStyleAttr: Int = 0)
: View(context,attrs,defStyleAttr)
这里有2件事:
- 使用具有3个参数的View构造函数。上下文,属性,defStyleAttr。
- 使用@JvmOverloads注释和默认值作为参数,以实际上支持一行中的3个构造函数。