Android 是否可以使用MotionLayout设置组可见性的动画?

Android 是否可以使用MotionLayout设置组可见性的动画?,android,android-motionlayout,Android,Android Motionlayout,我正在尝试用MotionLayout制作动画,我需要隐藏一些元素。 我在一个单独的元素中测试了visibility属性,它可以工作,但是为了使XML更短,我希望能够只指定一个包含所有这些元素的组(来自ConstraintLayout helpers) 像这样的 但它不起作用,你知道如何使它起作用吗 另外,我希望不要使用alpha,因为所有约束都已设置,因此当它们消失时,容器将调整大小,而不是在约束上声明可见性,您应该将可见性声明为自定义属性。因此,对于第一个约束,请尝试以下方法:

我正在尝试用MotionLayout制作动画,我需要隐藏一些元素。 我在一个单独的元素中测试了visibility属性,它可以工作,但是为了使XML更短,我希望能够只指定一个包含所有这些元素的组(来自ConstraintLayout helpers)

像这样的


但它不起作用,你知道如何使它起作用吗


另外,我希望不要使用alpha,因为所有约束都已设置,因此当它们消失时,容器将调整大小,而不是在约束上声明可见性,您应该将可见性声明为自定义属性。因此,对于第一个约束,请尝试以下方法:

     <Constraint
        android:id="@+id/details_group"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:constraint_referenced_ids="detail_value_topl,detail_icon_topl,detail_value_topr">
        <CustomAttribute
            motion:attributeName="visibility"
            motion:customIntegerValue="8" />
    </Constraint>

视图组是运动布局的直接子对象吗?。检查此处的限制,如果这适用于您的案例事实上,我也尝试在约束组上制作动画,以便减少我的代码,但它无法工作,因此必须单独制作。它仅适用于视图。在“约束->属性集”下有“可见性”-表示“视图”-设置视图的可见性。可见的、不可见的或消失的。所以我想目前他们不支持这种观点。最好在google上的issue tracker中提交请求。这种解决方案可以在启动滑动转换时直接看到视图,而不是通过设置其alpha动画将其缓慢混合。我将继续直接在约束上定义可见性属性。
    <Constraint
        android:id="@+id/details_group"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:constraint_referenced_ids="detail_value_topl,detail_icon_topl,detail_value_topr">
        <CustomAttribute
            motion:attributeName="visibility"
            motion:customIntegerValue="0" />
    </Constraint>
Visible = 0
Invisible = 4
Gone = 8