Связь между drawableStateChanged () и draw ()
Мне интересно, какая связь между ViewGroup.drawableStateChanged()
а также ViewGroup.draw()
. Я ожидал этогоViewGroup.drawableStateChanged()
всегда приводит к вызову ViewGroup.draw()
, однако это не всегда так:
// hint: in the constructor of my custom ViewGroup
// I've set these:
// setWillNotDraw(false); // enables draw / onDraw to be called
// setAddStatesFromChildren(true)
override fun drawableStateChanged() {
Timber.i("TST: drawableStateChanged")
super.drawableStateChanged()
}
override fun draw(canvas: Canvas?) {
Timber.i("TST: draw")
super.draw(canvas)
}
это дает мне как результат:
TST: drawableStateChanged
TST: drawableStateChanged
TST: drawableStateChanged
TST: draw <---- draw called after drawableStateChanged
TST: draw
TST: drawableStateChanged
TST: drawableStateChanged
[no draw called after drawableStateChanged]
Итак, когда draw
позвонил после drawableStateChanged
а когда нет? Благодарность!