Как лучше всего использовать макет нижнего листа в сочетании с MotionLayout - PullRequest
0 голосов
/ 15 мая 2019

У меня есть просмотр изображений в моей MainActivity.При расширении моего нижнего листа вид изображения в MainActivity должен изменить свою позицию и размер.Может ли кто-нибудь привести меня на правильный путь?

Я пытался установить движение по нажатию кнопки, это работает.Я не нахожу способа вызвать движение путем расширения нижнего листа.

Моя последняя идея заключалась в том, чтобы получить скользящее смещение нижнего листа и использовать его в движении ... но как?

Спасибо, GGK

MotionScene.xml

`

<Transition
    motion:constraintSetStart="@+id/start"
    motion:constraintSetEnd="@+id/end"
    motion:duration="1000">
    <OnClick
        motion:target="@+id/tv_test_button"
        motion:mode="toggle"/>

    <OnSwipe
        motion:touchAnchorId="@+id/bottomSheetLayout"
        motion:maxVelocity="1000"
        motion:dragDirection="dragUp"/>
</Transition>

<ConstraintSet android:id="@+id/start">
    <Constraint
        android:id="@+id/ivTest"
        android:layout_width="189dp"
        android:layout_height="180dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="84dp"
        android:layout_marginEnd="8dp"
        android:cropToPadding="false"/>

</ConstraintSet>

<ConstraintSet android:id="@+id/end">
    <Constraint
        android:id="@+id/ivTest"
        android:layout_width="84dp"
        android:layout_height="80dp"
        android:layout_marginStart="32dp"
        android:layout_marginTop="32dp"

        motion:srcCompat="@android:drawable/sym_def_app_icon" />


</ConstraintSet>

</MotionScene>`

1 Ответ

0 голосов
/ 12 июня 2019

нашел решение для захвата нижнего листа при скольжении вверх или вниз:

   @Override
        public void onSlide(View bottomSheet, float slideOffset) {


            View rootView = bottomSheet.getRootView();
            float yBottomSheet = bottomSheet.getY();
         }

Вот и все

ГГК

...