创建一个自定义View类
新建一个自定义 View 的类,继承自 View
class TView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : View(context, attrs, defStyleAttr) {
// 创建画笔
val paint = Paint()
// 重写 onDraw 方法
override fun onDraw(canvas: Canvas?) {
// 注意一定不能忘了这个👇
super.onDraw(canvas)
// 绘制一个圆
canvas?.drawCircle(300F, 300F, 200F, paint)
}
}
其中 @JvmOverloads 的说明如下👇
@JvmOverloads 注解
在布局中使用
<com.shello.myapplication.view.TView
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
像普通控件一样使用即可,值得注意的是使用时要一定写完整类的路径。