【Android】動かしたViewをフェードアウトさせる【Kotlin】

# はじめに
前々回の　[【Android】Viewをドラッグして移動させる【Kotlin】
](https://qiita.com/Tsubasa12/items/c0287069b5e8666c2de7)前回の　[【Android】ドラッグしたViewを回転させる【Kotlin】
](https://qiita.com/drafts/4178c27c469ac3bc2c0d/edit)
に引き続き、今回はViewをフェードアウトさせるアニメーションを作っていきます。

# 実践

``` diff
+  lateinit var textView: TextView

    @SuppressLint("ClickableViewAccessibility", "MissingInflatedId")
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

-        val textView = findViewById(R.id.text_view)
+        textView = findViewById(R.id.text_view)

+        // フェードアウトアニメーション用のアニメーション開始位置をインスタンス化
+     　　  var actionDownTopPosition = 0

省略


+         when (event.action) {
+             MotionEvent.ACTION_DOWN -> {
+                 actionDownTopPosition = view.top
+             }


+                MotionEvent.ACTION_UP -> {
+                    val translation: ObjectAnimator

+                    if (view.top > actionDownTopPosition) {
+                        // 下方向へフェードアウト
+                        translation =
+                            ObjectAnimator.ofFloat(
+                                view,
+                                "translationY",
+                                1200f
+                            )
+                        closeAnimation(translation)
+                    } else if (view.top < actionDownTopPosition) {
+                        // 上方向へフェードアウト
+                        translation =
+                            ObjectAnimator.ofFloat(
+                                view,
+                                "translationY",
+                                -1200f
+                            )
+                        closeAnimation(translation)
+                    } 
                    
-                        // 元に戻る
-                        view.layout(
-                            homePositionX,
-                            homePositionY,
-                            homePositionX + view.width,
-                            homePositionY + view.height
-                        )

省略

+    // フェードアウトアニメーション
+    private fun closeAnimation(
+        translation: ObjectAnimator
+    ) {
+        translation.apply {
+                    interpolator = OvershootInterpolator()
+                    duration = 500L
+                    start()
+                    .addListener(
+                        object : Animator.AnimatorListener {
+                            override fun onAnimationStart(animation: Animator) {
+                            }

+                            override fun onAnimationEnd(p0: Animator) {
+                                textView.isGone
+                            }

+                            override fun onAnimationCancel(p0: Animator) {
+                            }

+                           override fun onAnimationRepeat(p0: Animator) {
+                            }
+                        }
+                    )
+    }
``` 
上方向に動かした時は　上方向に、下方向に動かした時は下方向にフェードアウトしていくようにできました！

![Videotogif (2).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2394054/5e64c3f3-4b02-cb5e-c900-e4b65f217980.gif)