Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android RecyclerView在MotionLayout中的其他视图上跳转_Android_Android Recyclerview_Android Motionlayout - Fatal编程技术网

Android RecyclerView在MotionLayout中的其他视图上跳转

Android RecyclerView在MotionLayout中的其他视图上跳转,android,android-recyclerview,android-motionlayout,Android,Android Recyclerview,Android Motionlayout,我在Github有一个项目: 我在其中使用MotionLayout: 有时,id为actors的RecyclerViewwith会跳到NestedScrollView中的其他视图上 您可以在不使用RecyclerView的情况下查看正确的行为: 当NestedScrollView中的其他视图高度较短时会发生这种情况。 你知道为什么会这样吗 我试过: <android.support.v4.widget.NestedScrollView android:id="

我在Github有一个项目:

我在其中使用MotionLayout:

有时,id为actors的RecyclerViewwith会跳到NestedScrollView中的其他视图上

您可以在不使用RecyclerView的情况下查看正确的行为:

当NestedScrollView中的其他视图高度较短时会发生这种情况。 你知道为什么会这样吗

我试过:

<android.support.v4.widget.NestedScrollView
            android:id="@+id/details_rv"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:background="@color/window_background"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent">

...

</android.support.v4.widget.NestedScrollView>

        <android.support.v7.widget.RecyclerView
            android:id="@+id/details_cast"
            android:layout_width="0dp"
            android:layout_height="0dp"
            app:items="@{vm.cast}"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/details_rv" />
但它并没有在RecyclerView中显示演员阵容

这是场景展示的细节:

<MotionScene xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <Transition
        app:constraintSetEnd="@id/end"
        app:constraintSetStart="@id/start"
        app:duration="200">

        <OnSwipe
            app:dragDirection="dragUp"
            app:moveWhenScrollAtTop="true"
            app:touchAnchorId="@id/details_rv"
            app:touchAnchorSide="top" />

        <KeyFrameSet>
            <KeyPosition
                app:framePosition="20"
                app:keyPositionType="deltaRelative"
                app:percentY="0.51"
                app:target="@id/details_poster" />

            <!-- This looks weird. We need a quick change from elevated to not-so-elevated at 20% so we set 2 key
                 attributes, one at 20% and other at 25%. -->
            <KeyAttribute
                android:elevation="@dimen/z_app_bar"
                android:rotation="45"
                android:rotationY="15"
                app:framePosition="20"
                app:target="@id/details_poster" />

            <KeyAttribute
                android:elevation="@dimen/details_poster_not_elevation"
                app:framePosition="25"
                app:target="@id/details_poster" />

            <!-- Only elevate the appbar background over the last 25% -->
            <KeyAttribute
                android:elevation="0dp"
                app:framePosition="75"
                app:target="@id/details_appbar_background" />

        </KeyFrameSet>

    </Transition>

    <ConstraintSet android:id="@+id/start">
        <Constraint
            android:id="@id/details_backdrop"
            android:layout_width="0dp"
            android:layout_height="0dp"
            app:layout_constraintBottom_toBottomOf="@id/details_appbar_background"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <Constraint
            android:id="@id/details_backdrop_scrim"
            app:layout_constraintBottom_toBottomOf="@id/details_backdrop"
            app:layout_constraintEnd_toEndOf="@id/details_backdrop"
            app:layout_constraintStart_toStartOf="@id/details_backdrop"
            app:layout_constraintTop_toTopOf="@id/details_backdrop">

            <CustomAttribute
                app:attributeName="background"
                app:customColorDrawableValue="@android:color/transparent" />

        </Constraint>

        <Constraint
            android:id="@id/details_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:elevation="0dp"
            app:layout_constraintTop_toBottomOf="@id/details_status_bar_anchor">

            <CustomAttribute
                app:attributeName="iconTint"
                app:customColorValue="?android:attr/textColorPrimaryInverse" />

        </Constraint>

        <Constraint
            android:id="@id/details_appbar_background"
            android:layout_width="0dp"
            android:layout_height="88dp"
            app:layout_constraintBottom_toBottomOf="@id/details_poster"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent" />

        <Constraint
            android:id="@id/details_title"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="24dp"
            app:layout_constraintBottom_toTopOf="@id/details_appbar_background"
            app:layout_constraintEnd_toEndOf="@id/details_appbar_background"
            app:layout_constraintStart_toEndOf="@id/details_poster"
            app:layout_constraintTop_toBottomOf="@id/details_appbar_background" />

        <Constraint
            android:id="@id/details_poster"
            android:layout_width="80dp"
            android:layout_height="0dp"
            android:layout_marginStart="@dimen/padding_normal"
            android:layout_marginTop="200dp"
            android:elevation="@dimen/z_app_bar"
            app:layout_constraintDimensionRatio="h,1:1.5"
            app:layout_constraintStart_toStartOf="@id/details_rv"
            app:layout_constraintTop_toTopOf="parent" />

    </ConstraintSet>

    <ConstraintSet android:id="@+id/end">
        <Constraint
            android:id="@id/details_backdrop"
            android:layout_width="0dp"
            android:layout_height="0dp"
            app:layout_constraintBottom_toBottomOf="@id/details_appbar_background"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <Constraint
            android:id="@id/details_backdrop_scrim"
            app:layout_constraintBottom_toBottomOf="@id/details_backdrop"
            app:layout_constraintEnd_toEndOf="@id/details_backdrop"
            app:layout_constraintStart_toStartOf="@id/details_backdrop"
            app:layout_constraintTop_toTopOf="@id/details_backdrop">

            <CustomAttribute
                app:attributeName="background"
                app:customColorDrawableValue="@color/status_bar_scrim_translucent_dark" />

        </Constraint>

        <Constraint
            android:id="@id/details_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:elevation="@dimen/z_app_bar"
            app:layout_constraintTop_toBottomOf="@id/details_status_bar_anchor">

            <CustomAttribute
                app:attributeName="iconTint"
                app:customColorValue="?android:attr/textColorPrimary" />

        </Constraint>

        <Constraint
            android:id="@id/details_appbar_background"
            android:layout_width="0dp"
            android:layout_height="?android:attr/actionBarSize"
            android:elevation="@dimen/z_app_bar"
            app:layout_constraintEnd_toEndOf="@id/details_rv"
            app:layout_constraintStart_toStartOf="@id/details_rv"
            app:layout_constraintTop_toBottomOf="@id/details_status_bar_anchor" />

        <Constraint
            android:id="@id/details_title"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="48dp"
            android:layout_marginStart="64dp"
            android:elevation="@dimen/z_app_bar"
            app:layout_constraintBottom_toBottomOf="@id/details_appbar_background"
            app:layout_constraintEnd_toEndOf="@id/details_appbar_background"
            app:layout_constraintStart_toStartOf="@id/details_appbar_background"
            app:layout_constraintTop_toTopOf="@id/details_appbar_background" />

        <Constraint
            android:id="@id/details_poster"
            android:layout_width="72dp"
            android:layout_height="0dp"
            android:elevation="@dimen/details_poster_not_elevation"
            app:layout_constraintDimensionRatio="h,1:1.5"
            app:layout_constraintStart_toStartOf="@id/details_title"
            app:layout_constraintTop_toBottomOf="@id/details_status_bar_anchor" />

    </ConstraintSet>


</MotionScene>

问题跟踪可在以下位置找到:

请停止删除并重新发布您的问题。你的帖子不应该比这里的任何人都更重要。如果您在给定的时间范围内绝对需要解决方案,那么我建议您雇佣一名开发人员。
<MotionScene xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <Transition
        app:constraintSetEnd="@id/end"
        app:constraintSetStart="@id/start"
        app:duration="200">

        <OnSwipe
            app:dragDirection="dragUp"
            app:moveWhenScrollAtTop="true"
            app:touchAnchorId="@id/details_rv"
            app:touchAnchorSide="top" />

        <KeyFrameSet>
            <KeyPosition
                app:framePosition="20"
                app:keyPositionType="deltaRelative"
                app:percentY="0.51"
                app:target="@id/details_poster" />

            <!-- This looks weird. We need a quick change from elevated to not-so-elevated at 20% so we set 2 key
                 attributes, one at 20% and other at 25%. -->
            <KeyAttribute
                android:elevation="@dimen/z_app_bar"
                android:rotation="45"
                android:rotationY="15"
                app:framePosition="20"
                app:target="@id/details_poster" />

            <KeyAttribute
                android:elevation="@dimen/details_poster_not_elevation"
                app:framePosition="25"
                app:target="@id/details_poster" />

            <!-- Only elevate the appbar background over the last 25% -->
            <KeyAttribute
                android:elevation="0dp"
                app:framePosition="75"
                app:target="@id/details_appbar_background" />

        </KeyFrameSet>

    </Transition>

    <ConstraintSet android:id="@+id/start">
        <Constraint
            android:id="@id/details_backdrop"
            android:layout_width="0dp"
            android:layout_height="0dp"
            app:layout_constraintBottom_toBottomOf="@id/details_appbar_background"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <Constraint
            android:id="@id/details_backdrop_scrim"
            app:layout_constraintBottom_toBottomOf="@id/details_backdrop"
            app:layout_constraintEnd_toEndOf="@id/details_backdrop"
            app:layout_constraintStart_toStartOf="@id/details_backdrop"
            app:layout_constraintTop_toTopOf="@id/details_backdrop">

            <CustomAttribute
                app:attributeName="background"
                app:customColorDrawableValue="@android:color/transparent" />

        </Constraint>

        <Constraint
            android:id="@id/details_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:elevation="0dp"
            app:layout_constraintTop_toBottomOf="@id/details_status_bar_anchor">

            <CustomAttribute
                app:attributeName="iconTint"
                app:customColorValue="?android:attr/textColorPrimaryInverse" />

        </Constraint>

        <Constraint
            android:id="@id/details_appbar_background"
            android:layout_width="0dp"
            android:layout_height="88dp"
            app:layout_constraintBottom_toBottomOf="@id/details_poster"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent" />

        <Constraint
            android:id="@id/details_title"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="24dp"
            app:layout_constraintBottom_toTopOf="@id/details_appbar_background"
            app:layout_constraintEnd_toEndOf="@id/details_appbar_background"
            app:layout_constraintStart_toEndOf="@id/details_poster"
            app:layout_constraintTop_toBottomOf="@id/details_appbar_background" />

        <Constraint
            android:id="@id/details_poster"
            android:layout_width="80dp"
            android:layout_height="0dp"
            android:layout_marginStart="@dimen/padding_normal"
            android:layout_marginTop="200dp"
            android:elevation="@dimen/z_app_bar"
            app:layout_constraintDimensionRatio="h,1:1.5"
            app:layout_constraintStart_toStartOf="@id/details_rv"
            app:layout_constraintTop_toTopOf="parent" />

    </ConstraintSet>

    <ConstraintSet android:id="@+id/end">
        <Constraint
            android:id="@id/details_backdrop"
            android:layout_width="0dp"
            android:layout_height="0dp"
            app:layout_constraintBottom_toBottomOf="@id/details_appbar_background"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <Constraint
            android:id="@id/details_backdrop_scrim"
            app:layout_constraintBottom_toBottomOf="@id/details_backdrop"
            app:layout_constraintEnd_toEndOf="@id/details_backdrop"
            app:layout_constraintStart_toStartOf="@id/details_backdrop"
            app:layout_constraintTop_toTopOf="@id/details_backdrop">

            <CustomAttribute
                app:attributeName="background"
                app:customColorDrawableValue="@color/status_bar_scrim_translucent_dark" />

        </Constraint>

        <Constraint
            android:id="@id/details_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:elevation="@dimen/z_app_bar"
            app:layout_constraintTop_toBottomOf="@id/details_status_bar_anchor">

            <CustomAttribute
                app:attributeName="iconTint"
                app:customColorValue="?android:attr/textColorPrimary" />

        </Constraint>

        <Constraint
            android:id="@id/details_appbar_background"
            android:layout_width="0dp"
            android:layout_height="?android:attr/actionBarSize"
            android:elevation="@dimen/z_app_bar"
            app:layout_constraintEnd_toEndOf="@id/details_rv"
            app:layout_constraintStart_toStartOf="@id/details_rv"
            app:layout_constraintTop_toBottomOf="@id/details_status_bar_anchor" />

        <Constraint
            android:id="@id/details_title"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="48dp"
            android:layout_marginStart="64dp"
            android:elevation="@dimen/z_app_bar"
            app:layout_constraintBottom_toBottomOf="@id/details_appbar_background"
            app:layout_constraintEnd_toEndOf="@id/details_appbar_background"
            app:layout_constraintStart_toStartOf="@id/details_appbar_background"
            app:layout_constraintTop_toTopOf="@id/details_appbar_background" />

        <Constraint
            android:id="@id/details_poster"
            android:layout_width="72dp"
            android:layout_height="0dp"
            android:elevation="@dimen/details_poster_not_elevation"
            app:layout_constraintDimensionRatio="h,1:1.5"
            app:layout_constraintStart_toStartOf="@id/details_title"
            app:layout_constraintTop_toBottomOf="@id/details_status_bar_anchor" />

    </ConstraintSet>


</MotionScene>