而不是
持有人
在
你自己去上课吧
SurfaceView.Callback
class GamingActivity : SurfaceHolder.Callback, AppCompatActivity() {
private var holder: SurfaceHolder? = null
private var pos = 0
public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val view = SurfaceView(this)
setContentView(view)
view.holder.addCallback(this)
}
override fun surfaceCreated(holder: SurfaceHolder) {
this.holder = holder
pos = 0
Thread({
while (this.holder != null) {
drawFigure(this.holder)
Thread.sleep(100)
}
}).start()
}
override fun surfaceChanged(holder: SurfaceHolder, frmt: Int, w: Int, h: Int) {
this.holder = holder
}
override fun surfaceDestroyed(holder: SurfaceHolder) {
this.holder = null
}
private fun drawFigure(holder: SurfaceHolder?) {
if (holder == null) return
val canvas = holder.lockCanvas()
val paint = Paint(Paint.ANTI_ALIAS_FLAG)
paint.setARGB(255, 0, 0, 0)
paint.textSize = 96f
canvas.drawText("Hello", 100f + pos, 500f, paint)
pos++
holder.unlockCanvasAndPost(canvas)
}
}