#android #android-motionlayout
Вопрос:
Я использую MotionLayout
Я хочу управлять @ id/end
набором ограничений в Java
например
<ConstraintSet android:id="@ id/end">
<Constraint
android:id="@ id/item_c"
motion:layout_constraintWidth_percent="0.5"
motion:layout_constraintEnd_toEndOf="parent"
android:layout_width="0dp"
android:layout_height="0dp"
motion:layout_constraintHeight_percent="0.3"
motion:layout_constraintStart_toStartOf="parent"
motion:layout_constraintTop_toTopOf="parent"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintHorizontal_bias="1"
motion:layout_constraintVertical_bias="1.0" />
</ConstraintSet>
Я хочу установить значение «layout_constraintHorizontal_bias» в Java на коммутаторе
Но я не нашел решения
что мне делать?
Ответ №1:
Набор ограничений должен содержать все необходимые вам методы
MotionLayout ml = ...
ConstraintSet set = ml.getConstraintSet(R.id.end)
set.setHorizontalBias(R.id.widgetid, 0.4)
ml.updateState(R.id.end, set);
ml.rebuildScene();
Если вы уже находитесь в этом состоянии, возможно, вам захочется позвонить
ml.updateStateAnimate(R.id.end,set,duration_in_ms);