我正在使用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()
}
}
);