我想知道是否可以在我的自定义视图中使用和绘制一个视图,如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)
}
}
1条答案
按热度按时间pw9qyyiw1#
你可以把一个视图放在一个自定义视图中,但是你不这样做。相反,你从ViewGroup而不是View继承。然后你实现onMeasure和onLayout来布局和测量你自己和你的子视图。然后你不需要做任何事情来绘制它--子视图会自己绘制。