Android动画之Activity,View背景的3D缩小

  • Post author:
  • Post category:其他


需求

有时候我们在底部弹出一个对话框的时候,很多app为了良好的视觉效果,会将原先的view进行3D缩放。如图是手机京东选择配送方式时,弹出底部对话框,背景View的缩放效果。(ps. Android端没有此效果)
手机京东效果

实现方式 1 ScaleAnimation

使用ScaleAnimation是可以实现放大缩小的效果的,但是是没有类似京东这种的3D效果,如果不追求那么极致的体验,还是可以的,毕竟简单方便。

        rootView = findViewById(android.R.id.content)

private fun startShowAnimation() {
        val scaleAnimation = ScaleAnimation(1f, 0.93f, 1f, 0.93f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f)
        scaleAnimation.interpolator = LinearInterpolator()
        scaleAnimation.duration = 300
        scaleAnimation.fillAfter = true
        rootView.startAnimation(scaleAnimation)
    }

实现方式2 自定义动画通过setPolyToPoly

通过

setPolyToPoly

可以实现任务的变形,参数的解释

 /**

     * @param sr



版权声明:本文为qq_16445551原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。