Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何为运动场景的所有变换定义公共插值器?_Android_Android Jetpack_Android Motionlayout - Fatal编程技术网

Android 如何为运动场景的所有变换定义公共插值器?

Android 如何为运动场景的所有变换定义公共插值器?,android,android-jetpack,android-motionlayout,Android,Android Jetpack,Android Motionlayout,在一个给定的布局中有三个状态,我希望在这些状态之间的任何转换中使用相同的插值器。我如何为所有转换定义(XML或代码)相同的插值器,而不必重复下面的内容 ... ... ... 这是如何定义所有三种转换共用的插值器或持续时间: ... ... ... 查看当前MotionLayout源代码(v2.0.1),Transition元素如果既不指定constraintSetStart也不指定constraintSetEnd,则被认为是抽象的,其属性将默认为MotionScene中的所有变换 公共静

在一个给定的布局中有三个状态,我希望在这些状态之间的任何转换中使用相同的插值器。我如何为所有转换定义(XML或代码)相同的插值器,而不必重复下面的内容


...
...
...

这是如何定义所有三种转换共用的插值器或持续时间:


...
...
...
查看当前MotionLayout源代码(v2.0.1),
Transition
元素如果既不指定
constraintSetStart
也不指定
constraintSetEnd
,则被认为是抽象的,其属性将默认为MotionScene中的所有变换

公共静态类转换{
私有布尔错误抽象=false;
private int mconstraintstend=-1;
private int mConstraintSetStart=-1;
// ...
//此构造函数基于另一个转换创建转换
过渡(MotionScene MotionScene,MotionScene.Transition global){
如果(全局!=null){
this.mDefaultInterpolator=global.mDefaultInterpolator;
this.mDuration=global.mDuration;
// ...
}
}
专用空白填充(MotionScene MotionScene,上下文上下文,类型Darray a){
//从TypedArray解析属性,constraintSetStart是其中之一
如果(this.mConstraintSetStart==-1){
this.mIsAbstract=true;
}
}
// ...
}
当MotionScene中的过渡完全抽象(未指定开始或结束)时,它将成为
mDefaultTransition

公共类运动场景{
私有MotionScene.Transition mDefaultTransition=null;
私有ArrayList mAbstractTransitionList=新ArrayList();
// ...
}
它的工作原理与我描述的一样,但在当前文档中没有任何引用。不幸的是,我无法链接到源代码,因为最新版本在AOSP中不可用(请参阅本期)。查看此代码的唯一方法是通过IntelliJ的反编译器编辑:来自的链接

这一可能性最初是在报告中提到的。源代码位于。

您可以定义“抽象”转换。beta4的发行说明中提到了

注意,它不会成为其他项目的基础

您可以在以下位置找到源代码:


不幸的是,没有很好的方法来记录不放东西的特性。

谢谢你的链接!希望你不介意我用这些更新我的答案。