常规的方式实现匿名内部类
valueAnimator.addUpdateListener(object :AnimatorUpdateListener {
override fun onAnimationUpdate(animation: ValueAnimator?) {
currentPoint = animation?.animatedValue as Point
postInvalidate()
}
})
使用lambda后
valueAnimator.addUpdateListener { animation ->
currentPoint = animation?.animatedValue as Point
postInvalidate()
}
内部定义接口并回调
interface ICallback {
fun onSuccess(msg: String)
fun onFail(msg: String)
}
class NormalCallback {
var mCallback: ICallback? = null
fun setCallback(callback: ICallback) {
mCallback = callback
}
fun init() {
mCallback?.onSuccess("success message")
}
}