我们可以在Android上使用画布在自定义视图中使用和绘制视图吗?

jvidinwx  于 2022-11-20  发布在  Android
关注(0)|答案(1)|浏览(150)

我想知道是否可以在我的自定义视图中使用和绘制一个视图,如TextView或Chronometer,它使用画布来执行绘图。
我的目标是在我的自定义视图中重用Android的Chonometer视图,并将其绘制在我的所有画布层之上。
我搜索了一整天,安卓源代码,第三方库,但找不到。
我还注意到,在视图类上,没有办法设置边界或定位或其他东西,所以我可能无法做我想做的事情。
任何帮助都将不胜感激!:)

  • 谢谢-谢谢
    类似于:
class CustomView @JvmOverloads constructor(
    context: Context,
    attrs: AttributeSet? = null,
    defStyleAttr: Int = 0
) : View(context, attrs, defStyleAttr) {

    private val chronometer: Chronometer = Chronometer(context)

    override fun onDraw(canvas: Canvas) {
        //Here I perform all my others drawing 

        //Does not work
        chronometer.draw(canvas)
    }

}
pw9qyyiw

pw9qyyiw1#

你可以把一个视图放在一个自定义视图中,但是你不这样做。相反,你从ViewGroup而不是View继承。然后你实现onMeasure和onLayout来布局和测量你自己和你的子视图。然后你不需要做任何事情来绘制它--子视图会自己绘制。

相关问题