Browse Source

1.点击控件添加动画效果

王鹏鹏 2 years ago
parent
commit
3182bd2a56

+ 43 - 12
home/src/main/java/com/yingyangfly/home/evaluation/EvaluationActivity.kt

@@ -1,9 +1,15 @@
 package com.yingyangfly.home.evaluation
 
+import android.annotation.SuppressLint
 import android.text.TextUtils
+import android.view.MotionEvent
+import android.view.View
 import com.alibaba.android.arouter.facade.annotation.Route
+import com.yingyang.home.R
 import com.yingyang.home.databinding.ActivityEvaluationBinding
 import com.yingyangfly.baselib.db.QuestionsBean
+import com.yingyangfly.baselib.ext.getEndAnimation
+import com.yingyangfly.baselib.ext.getScaleAnimation
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
 import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
@@ -14,25 +20,19 @@ import com.yingyangfly.baselib.utils.JumpUtil
  * 专业测评
  */
 @Route(path = RouterUrlCommon.evaluation)
-class EvaluationActivity : BaseMVVMActivity<ActivityEvaluationBinding, EvaluationViewModel>() {
+class EvaluationActivity : BaseMVVMActivity<ActivityEvaluationBinding, EvaluationViewModel>(),
+    View.OnTouchListener {
 
     override fun initViews() {
 
     }
 
+    @SuppressLint("ClickableViewAccessibility")
     override fun initListener() {
         binding {
-            layoutHome.setOnSingleClickListener {
-                finish()
-            }
-
-            mmseLayout.setOnSingleClickListener {
-                loadData("MMSE")
-            }
-
-            mocaLayout.setOnSingleClickListener {
-                loadData("MOCA")
-            }
+            layoutHome.setOnTouchListener(this@EvaluationActivity)
+            mmseLayout.setOnTouchListener(this@EvaluationActivity)
+            mocaLayout.setOnTouchListener(this@EvaluationActivity)
         }
     }
 
@@ -60,4 +60,35 @@ class EvaluationActivity : BaseMVVMActivity<ActivityEvaluationBinding, Evaluatio
             })
         }
     }
+
+    @SuppressLint("ClickableViewAccessibility")
+    override fun onTouch(v: View, event: MotionEvent): Boolean {
+        when (event.action) {
+            MotionEvent.ACTION_DOWN -> {
+                if (v.id == R.id.layoutHome || v.id == R.id.mmseLayout || v.id == R.id.mocaLayout) {
+                    v.startAnimation(getScaleAnimation())
+                }
+            }
+            MotionEvent.ACTION_UP -> {
+                v.startAnimation(getEndAnimation())
+                when (v.id) {
+                    R.id.mmseLayout -> {
+                        loadData("MMSE")
+                    }
+                    R.id.mocaLayout -> {
+                        loadData("MOCA")
+                    }
+                    R.id.layoutHome -> {
+                        finish()
+                    }
+                }
+            }
+            MotionEvent.ACTION_CANCEL -> {
+                if (v.id == R.id.layoutHome || v.id == R.id.mmseLayout || v.id == R.id.mocaLayout) {
+                    v.startAnimation(getEndAnimation())
+                }
+            }
+        }
+        return true
+    }
 }

+ 2 - 2
home/src/main/res/values/strings.xml

@@ -37,6 +37,6 @@
     <string name="upgrade_now" tools:ignore="ResourceName">立即升级</string>
     <string name="accessibility_service_descriptions" tools:ignore="ResourceName">应用自动安装服务</string>
     <string name="auto_install_accessibility_description" tools:ignore="ResourceName">手机app自动安装服务</string>
-    <string name="mmse_evaluation" tools:ignore="ResourceName">MMSE测</string>
-    <string name="moca_evaluation" tools:ignore="ResourceName">MOCA测</string>
+    <string name="mmse_evaluation" tools:ignore="ResourceName">MMSE测</string>
+    <string name="moca_evaluation" tools:ignore="ResourceName">MOCA测</string>
 </resources>