ali*_*ter 5 android android-motionlayout
我在这样的代码中手动设置了一个新的过渡:
intro_motion_layout.setTransition(R.id.middle, R.id.end)
Run Code Online (Sandbox Code Playgroud)
有没有办法我也可以这样设置持续时间?
我ConstraintSets在 XML 中定义了多个,当第一次转换完成时,我使用onTransitionCompleted. Transition我的 XML 中有一个,它在那里正确使用了持续时间,但Transitions我在代码中设置的以下内容发生得非常快,我找不到改变它们的持续时间的方法。
intro_motion_layout.setTransition(R.id.middle, R.id.end)
intro_motion_layout.setTransitionDuration(1000)
intro_motion_layout.transitionToEnd()
Run Code Online (Sandbox Code Playgroud)
为我工作
小智 -1
如果您在 xml 上定义 Transition,然后设置开始/结束 id,它将从 xml 获取信息
<Transition
app:constraintSetStart="@id/bottom_sheet_closed"
app:constraintSetEnd="@id/bottom_sheet_open"
app:duration="1550"
app:interpolator="easeIn">
<OnSwipe
app:dragDirection="dragUp"
app:moveWhenScrollAtTop="true"
app:touchAnchorId="@id/divider"
app:touchAnchorSide="top" />
</Transition>
Run Code Online (Sandbox Code Playgroud)
然后以编程方式你可以这样做:
root.motion_layout.setTransition(R.id.bottom_sheet_closed, R.id.bottom_sheet_open)
root.motion_layout.transitionToEnd()
Run Code Online (Sandbox Code Playgroud)
一切都会奏效
| 归档时间: |
|
| 查看次数: |
4220 次 |
| 最近记录: |