首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >汤姆是如何连锁几个过渡的?

汤姆是如何连锁几个过渡的?
EN

Stack Overflow用户
提问于 2019-05-27 14:58:01
回答 2查看 505关注 0票数 1

热弹转换一个接一个动作布局,使它看起来像单一的动画?虽然关键帧可以用于在两个条件集之间建立中间状态,但它们也是有限的,不能修改所有所需的属性。

代码语言:javascript
运行
复制
    <Transition

        app:constraintSetEnd="@layout/simple_start"
        app:constraintSetStart="@layout/simple_middle"

        >
        <OnSwipe
            app:dragDirection="dragUp"
            app:touchAnchorId="@id/scrollable"
            app:touchAnchorSide="top" />

    </Transition>
    <Transition

        app:constraintSetEnd="@layout/simple_middle"
        app:constraintSetStart="@layout/simple_end"

        >
        <OnSwipe
            app:dragDirection="dragUp"
            app:touchAnchorId="@id/scrollable"
            app:touchAnchorSide="top" />

    </Transition>

</MotionScene>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-10 11:41:20

代码语言:javascript
运行
复制
override fun onClick(v: View) {

    when (v.id) {
        R.id.likeView -> {                  
       motionLayout.setTransition(R.id.start_first_set,R.id.end_first_set)
       motionLayout.transitionToEnd() // start first anime
        }
   }

   motionLayout.setTransitionListener(object : MotionLayout.TransitionListener{

  // .....

        override fun onTransitionCompleted(p0: MotionLayout?, id: Int) {
            when (id) {
                R.id.end_first_set -> {              
          motionLayout.setTransition(R.id.start_second_set,R.id.end_secons_set)
          motionLayout.transitionToEnd() // start second anime
           }
        }
    })
票数 2
EN

Stack Overflow用户

发布于 2019-05-31 22:49:04

您是否试图像这样直接在代码中启动转换?

代码语言:javascript
运行
复制
((MotionLayout)findViewById(R.id.simple_start)).transitionToEnd();
((MotionLayout)findViewById(R.id.simple_middle)).transitionToEnd();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56328424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档