with(ml) { //ml -> your motionLayout id
updateState(R.id.start, ConstraintSet().apply {
clone(ml)
constrainHeight(viewWhichHeightNeedsToChange.id, height.dp + insets.systemWindowInsetTop)
applyTo(ml)
})
setState(R.id.end, ml.width, ml.height)
updateState(R.id.end, ConstraintSet().apply {
clone(ml)
constrainHeight(viewWhichHeightNeedsToChange.id, height.dp + insets.systemWindowInsetTop)
applyTo(ml)
})
setState(R.id.start, ml.width, ml.height)
}
В основном вам нужно обновить отступы / размер ваших видов в обоих наборах макетов движения. Было бы здорово, если бы был способ сделать это без переключения между состояниями. Этот код выполняется в setOnApplyWindowInsetsListener {} работает с
androidx.constraintlayout: constraintlayout: 2.0.0-beta3