内容简介:在开始之前请牢记,构建过渡,只需简单的三步。废话不多说直接开始首先,我们有一个起始场景
在开始之前请牢记,构建过渡,只需简单的三步。
- 创建起始场景 (StartScene)
- 创建结束场景 (EndScene)
- 调整起始场景到结束场景的方式
废话不多说直接开始
构建开始场景
首先,我们有一个起始场景
<ConstraintSet android:id="@+id/start">
<Constraint android:layout_width="wrap_content"
android:id="@id/guide"
android:orientation="horizontal"
motion:layout_constraintGuide_percent="0.5"
android:layout_height="wrap_content"/>
<Constraint android:id="@id/h"
android:layout_width="30dp"
android:layout_height="40dp"
motion:layout_constraintTop_toTopOf="parent"
motion:layout_constraintStart_toStartOf="parent"/>
<!--E ... R 代码略-->
</ConstraintSet>
复制代码
构建结束场景
然后,我们有一个结束场景
<ConstraintSet android:id="@id/end">
<Constraint android:layout_width="wrap_content"
android:id="@id/guide"
android:orientation="horizontal"
motion:layout_constraintGuide_percent="0.5"
android:layout_height="wrap_content"/>
<Constraint android:layout_width="30dp"
android:layout_height="40dp"
motion:layout_constraintHorizontal_chainStyle="packed"
motion:layout_constraintTop_toTopOf="@id/guide"
motion:layout_constraintBottom_toBottomOf="@id/guide"
motion:layout_constraintEnd_toStartOf="@id/e1"
android:id="@id/h"
motion:layout_constraintStart_toStartOf="parent"/>
<!--E ... R 代码略-->
</ConstraintSet>
复制代码
构建过渡
最后,调整起始场景到结束场景的方式
<Transition motion:constraintSetStart="@+id/start"
motion:constraintSetEnd="@+id/end"
motion:duration="1200">
<!-- H 滑动修改过渡状态-->
<OnSwipe motion:dragDirection="dragRight"
motion:touchAnchorSide="right"
motion:touchAnchorId="@id/h"/>
<KeyFrameSet>
<!-- 位置关键帧 使用 path 坐标系 -->
<KeyPosition motion:target="@id/h"
motion:framePosition="85"
motion:percentX="0.8"
motion:percentY="-0.15"
motion:keyPositionType="pathRelative"/>
<KeyPosition motion:target="@id/e1"
motion:framePosition="85"
motion:percentX="0.9"
motion:percentY="0.25"
motion:keyPositionType="pathRelative"/>
<KeyPosition motion:target="@id/n"
motion:framePosition="40"
motion:percentX="0.7"
motion:percentY="-0.25"
motion:keyPositionType="pathRelative"/>
<!--对 C 同时设置两个关键帧-->
<KeyPosition motion:target="@id/c"
motion:framePosition="85"
motion:percentX="0.95"
motion:percentY="0.25"
motion:keyPositionType="pathRelative"/>
<KeyPosition motion:target="@id/c"
motion:framePosition="35"
motion:percentX="0.35"
motion:percentY="-0.05"
motion:keyPositionType="pathRelative"/>
<KeyPosition motion:target="@id/o"
motion:framePosition="35"
motion:percentX="0.05"
motion:percentY="0.2"
motion:keyPositionType="pathRelative"/>
<KeyPosition motion:target="@id/o"
motion:framePosition="85"
motion:percentX="0.85"
motion:percentY="0.2"
motion:keyPositionType="pathRelative"/>
<KeyPosition motion:target="@id/d"
motion:framePosition="15"
motion:transitionEasing="accelerate"
motion:keyPositionType="deltaRelative"
motion:percentY="0.15"/>
<KeyPosition motion:target="@id/d"
motion:framePosition="85"
motion:transitionEasing="decelerate"
motion:percentX="1.1"
motion:percentY="-0.45"
motion:keyPositionType="pathRelative"/>
<!-- 在 90% 的时候到达终点-->
<KeyPosition motion:target="@id/e2"
motion:framePosition="90"
motion:percentX="1"
motion:percentY="0"
motion:keyPositionType="pathRelative"/>
<!-- 差值坐标系 -->
<KeyPosition motion:target="@id/e2"
motion:framePosition="95"
motion:percentX="1"
motion:percentY="1.2"
motion:keyPositionType="deltaRelative"/>
</KeyFrameSet>
</Transition>
复制代码
于是我们得到了整个过渡过程
触发过渡
当然你也可以对目标加点事件来启动过渡
<Transition motion:constraintSetStart="@+id/start"
motion:constraintSetEnd="@+id/end"
motion:duration="1200">
<!-- R 切换起始/结束状态-->
<OnClick motion:clickAction="toggle"
motion:target="@id/r"/>
<!--左侧 E 过渡到起始状态-->
<OnClick motion:clickAction="transitionToStart"
motion:target="@id/e1"/>
<!--右侧 E 过渡到结束状态-->
<OnClick motion:clickAction="transitionToEnd"
motion:target="@id/e2"/>
<KeyFrameSet>
<!-- 略 -->
</KeyFrameSet>
</Transition>
复制代码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Writing Apache Modules with Perl and C
Lincoln Stein、Doug MacEachern / O'Reilly Media, Inc. / 1999-03 / USD 39.95
Apache is the most popular Web server on the Internet because it is free, reliable, and extensible. The availability of the source code and the modular design of Apache makes it possible to extend Web......一起来看看 《Writing Apache Modules with Perl and C》 这本书的介绍吧!