android - 如何检查MotionScene是否处于过渡 “start”或 “end”上?

标签 android kotlin android-motionlayout

我有一个带有MotionScene的MotionLayout,我想做一个“if-check”(在Kotlin中),以检查场景当前是否处于过渡“开始”或“结束”。
有谁知道如何做到这一点?
这是我在MotionScene中的“开始”和“结束”过渡:

<Transition
     motion:constraintSetEnd="@+id/end"
     motion:constraintSetStart="@+id/start"
     motion:duration="1000"> 

最佳答案

您可以根据需要使用TransitionListener回调

motionLayout.setTransitionListener(new MotionLayout.TransitionListener() {
        @Override
        public void onTransitionStarted(MotionLayout motionLayout, int i, int i1) {
            Log.i(TAG, "onTransitionStarted: ");
        }

        @Override
        public void onTransitionChange(MotionLayout motionLayout, int i, int i1, float v) {
            if (isViewVisible) {
                hideViews();
            }
        }
        @Override
        public void onTransitionCompleted(MotionLayout motionLayout, int i) {
            if (i != R.layout.start) {
                showViews();
            }
        }


        @Override
        public void onTransitionTrigger(MotionLayout motionLayout, int i, boolean b, float v) {


        }
    });
您也可以使用motionLayout.getProgress()onTransitionChange内部,每当抽屉位置改变时都会调用。
像这样
 public void onTransitionChange(MotionLayout motionLayout, int i, boolean b, float v) {
            if (motionLayout.getProgress() == 0.0) {
              // this is start 
            } else {
                // this is end 
            }
        }

关于android - 如何检查MotionScene是否处于过渡 “start”或 “end”上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64230143/

相关文章:

android - RecyclerView 为其项目设置了错误的 MotionLayout 状态

java - 如何在viewpager中的fragment中保存recyclerview的状态?

java - Keytool 给出错误的 android apk 哈希码

kotlin - Dagger2 - 如何使用 @Named 和 @BindsInstance

android-motionlayout - 在事件之间导航时重置运动布局

Android MotionLayout autoTransition 在 beta7 中不起作用

android - 未找到 ID 为 'com.google.firebase.appdistribution' 的插件

java - Sonar : How do I use gradle to inspect an android project

Kotlin 注释处理器不工作?我错过了什么?

kotlin - 使用 JPA 的 Micronaut 功能应用程序