java - 是否可以使用Java/Kotlin在Android MotionLayout中从“开始”状态切换到“结束”状态?

标签 java android kotlin android-motionlayout

我正在使用MotionLayout的android项目上工作。长话短说,我想使用Java以编程方式在“开始”和“结束”状态之间切换。说,这应该在单击按钮时发生。所以我正在寻找这样的事情:

MotionLayout myMotionLayout = findViewById(R.id.myMotionLayout);
Button button = findViewById(R.id.button);

button.setOnClickListener( v -> {
  // some code that switches the state
}
);

我做了很多Google搜寻,但找不到类似的东西。我遇到了一个名为setTransitionListener的MotionLayout方法,但该方法用于在更改期间执行操作,而不是触发更改。

我不知道该怎么办。谁能帮我这个?
谢谢。

最佳答案

您可以使用myMotionLayout.transitionToEnd()myMotionLayout.transitionToStart():

MotionLayout myMotionLayout = findViewById(R.id.myMotionLayout);
Button button = findViewById(R.id.button);

button.setOnClickListener( v -> {
    if(myMotionLayout.getCurrentState() == R.id.start_state) {
        myMotionLayout.transitionToEnd()
    } else {
        myMotionLayout.transitionToStart()
    }
  }
);

关于java - 是否可以使用Java/Kotlin在Android MotionLayout中从“开始”状态切换到“结束”状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60427825/

相关文章:

java - Android:需要用户交互/输入的通知

java - 多个输出突然不写任何输出?

java - ProGuard 混淆和影子依赖

android - Drive API - 下载/上传 sql 数据库

java - ProcessBuilder 无法在路径中找到 Kotlin

java - 如何对 Android RxJava 多线程进行单元测试

Android:不使用谷歌服务器的语音识别

android - Android 中默认的后退按钮导航动画

kotlin - 从列表中收集偶数到奇数元素以在 Kotlin 中进行映射的惯用方法

android - 如何恢复CountDownTimer?