Android 重温 MotionLayout

大概是几天没用了,有点健忘

现在做一个需要

很简单一个开场




    

        

        


            

            

            

            

        


    

效果:

Android 重温 MotionLayout_第1张图片

 

现在想要1 2 3 4 来回 对调

效果前

1 2 3 4

效果后

4 3 2 1

 

Android 重温 MotionLayout_第2张图片

星1 -> 星4  我们只需要设置 3个经过点

(0.25,0)      (0.5 ,1  )   (0.75,0)

每个点对应的 动画节点 也就是 动画运行到 百分之25的 时候 到达 第一个点,50的 时候 第二个,75的时候第三个


代码应该是这样的 这里我的习惯是   parentRelative


            

            

设置动画 达到25的 时候 是逐渐渐隐的  达到50的时候 是逐渐放大的 75的 时候是全程旋转的

需要注意的是 这些动画是 同时运行的 playTogether  ,并没有先后之分


            
            

因为1 2 3 4 -> 4 3 2 1并不是简单的换个id 就可以 ,在 scene 文件里边 不好编辑 所以 粘到 main.xml 编辑

Android 重温 MotionLayout_第3张图片

我把xml 写了好几遍 最后发现在scene 里边 ConstraintSet 里边的  换成Constraint 于是我把所有的View 都换成了Constraint 发现可以了

效果

 

Android 重温 MotionLayout_第4张图片

现在给其他的 View也加上动画

1 和 4 是对应的 其他的随意了

    
            
            


            


            
          

发现 start4的没有动静 少了轨迹的代码


            

            

既然写了就玩整点  把属性的效果也加上 因为是图片 我们可以进ImageView 的 源码看看 找set get 属性 /或者 敲一个试试

换成这个系列的ImageFilterView

最后的效果

Android 重温 MotionLayout_第5张图片

完整代码:

Scene




    

        

        
            
            

            


            
            

            


            
            
            
            


            
            
            


            


            

        

    

    

        
            

        

        

            

        

        

            

        

        
            

        


    

    

        
        
            
        

        
            
        

        
            
        

        

            

        

    

main.xml




    

        

        


            

            

            

            


        


    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(安卓进阶)