Browse Source

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

王鹏鹏 2 years ago
parent
commit
bacb3cbdac

+ 128 - 72
home/src/main/java/com/yingyangfly/home/activity/HomeActivity.kt

@@ -2,14 +2,15 @@ package com.yingyangfly.home.activity
 
 import android.annotation.SuppressLint
 import android.text.TextUtils
+import android.view.MotionEvent
+import android.view.View
 import androidx.recyclerview.widget.GridLayoutManager
 import com.alibaba.android.arouter.facade.annotation.Route
+import com.yingyang.home.R
 import com.yingyang.home.databinding.ActivityHomeBinding
 import com.yingyangfly.baselib.dialog.TaskFragment
 import com.yingyangfly.baselib.dialog.TipsDialog
-import com.yingyangfly.baselib.ext.setOnSingleClickListener
-import com.yingyangfly.baselib.ext.show
-import com.yingyangfly.baselib.ext.toast
+import com.yingyangfly.baselib.ext.*
 import com.yingyangfly.baselib.guideview.Guide
 import com.yingyangfly.baselib.guideview.GuideBuilder
 import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
@@ -23,14 +24,15 @@ import com.yingyangfly.home.component.ShowFunTimeViewComponent
 import com.yingyangfly.home.component.ShowHealthCounselingViewComponent
 import com.yingyangfly.home.component.ShowPlayPorpoiseViewComponent
 import com.yingyangfly.home.component.ShowProfessionalEvaluationViewComponent
-import com.yingyangfly.home.dialog.DownlaodAppFragment
+import com.yingyangfly.home.dialog.DownLoadAppFragment
 import com.yingyangfly.home.entity.Record
 
 /**
  * 新版首页
  */
 @Route(path = RouterUrlCommon.home)
-class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
+class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(),
+    View.OnTouchListener {
 
     /**
      * 进行中的任务
@@ -64,11 +66,10 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
                         .leftBtnText("取消")
                         .rightBtnText("确定")
                         .leftClick({
-                            null
+
                         }, true)
                         .rightClick({
                             jumpWebView(it, true)
-                            null
                         }, true)
                         .show(supportFragmentManager)
                 } else {
@@ -78,76 +79,33 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
         }
     }
 
+    @SuppressLint("ClickableViewAccessibility")
     override fun initListener() {
         binding {
             //用户头像
-            imageSetting.setOnSingleClickListener {
-                JumpUtil.jumpActivity(RouterUrlCommon.personalCenter, mContext)
-            }
+            imageSetting.setOnTouchListener(this@HomeActivity)
             //直播
-            layoutLiveBroadcast.setOnSingleClickListener {
-                JumpUtil.jumpActivity(RouterUrlCommon.liveBroadcastList, mContext)
-            }
+            layoutLiveBroadcast.setOnTouchListener(this@HomeActivity)
             //使用帮助
-            layoutHelp.setOnSingleClickListener {
-                JumpUtil.jumpActivity(RouterUrlCommon.help, mContext)
-            }
+            layoutHelp.setOnTouchListener(this@HomeActivity)
             //消息通知
-            layoutNotify.setOnSingleClickListener {
-                JumpUtil.jumpActivity(RouterUrlCommon.messageList, mContext)
-            }
+            layoutNotify.setOnTouchListener(this@HomeActivity)
             //服务套餐
-            layoutServicePackage.setOnSingleClickListener {
-                JumpUtil.jumpActivity(RouterUrlCommon.servicePackage, mContext)
-            }
+            layoutServicePackage.setOnTouchListener(this@HomeActivity)
             //畅玩蓝豚
-            tvPlayPorpoise.setOnSingleClickListener {
-                JumpUtil.jumpActivity(RouterUrlCommon.freeTrain, mContext)
-            }
+            tvPlayPorpoise.setOnTouchListener(this@HomeActivity)
             //专业测评
-            tvProfessionalEvaluation.setOnSingleClickListener {
-                JumpUtil.jumpActivity(RouterUrlCommon.evaluation, mContext)
-            }
+            tvProfessionalEvaluation.setOnTouchListener(this@HomeActivity)
             //健康咨询
-            tvHealthCounseling.setOnSingleClickListener {
-                "该功能正在开发中,敬请期待".toast()
-            }
+            tvHealthCounseling.setOnTouchListener(this@HomeActivity)
             //康复课堂
-            tvfunTime.setOnSingleClickListener {
-                JumpUtil.jumpActivity(RouterUrlCommon.leisureBrain, mContext)
-            }
+            tvfunTime.setOnTouchListener(this@HomeActivity)
             //查看
-            btnCheck.setOnSingleClickListener {
-                JumpUtil.jumpActivity(RouterUrlCommon.trainData, mContext)
-            }
+            btnCheck.setOnTouchListener(this@HomeActivity)
             //下一页
-            btnNextPage.setOnSingleClickListener {
-                pageList.clear()
-                if (isFirstPage) {
-                    btnNextPage.text = "上一页"
-                    isFirstPage = false
-                    pageList.addAll(gameList.subList(4, gameList.size))
-                } else {
-                    btnNextPage.text = "下一页"
-                    isFirstPage = true
-                    pageList.addAll(gameList.subList(0, 4))
-                }
-                gameAdapter.setData(pageList)
-            }
+            btnNextPage.setOnTouchListener(this@HomeActivity)
             //开始专属训练
-            btnTask.setOnSingleClickListener {
-                if (currentTaskRecord != null) {
-                    currentTaskRecord.let {
-                        val str =
-                            it?.gameUrl + "?gameCode=" + it?.gameCode + "&isFull=true&isSound=true&playClass=A" + "&userToken=" + User.getToken()
-                        JumpUtil.jumpActivityWithUrl(
-                            RouterUrlCommon.WEB_VIEW_INTERACTION_JS,
-                            str,
-                            mContext
-                        )
-                    }
-                }
-            }
+            btnTask.setOnTouchListener(this@HomeActivity)
         }
     }
 
@@ -174,9 +132,9 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
             launchTask()
         }, success = {
             if (it != null) {
-                val downlaodAppFragment = DownlaodAppFragment()
-                downlaodAppFragment.setDownloadUrl(mContext, it.versionUrl)
-                downlaodAppFragment.show(supportFragmentManager, "downlaodAppFragment")
+                val downLoadAppFragment = DownLoadAppFragment()
+                downLoadAppFragment.setDownloadUrl(mContext, it.versionUrl)
+                downLoadAppFragment.show(supportFragmentManager, "downLoadAppFragment")
             } else {
                 launchTask()
             }
@@ -190,9 +148,9 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
         //获取任务列表
         getFindMyTask()
         if (TextUtils.equals("0", User.getFirstLogin())) {
-            val taskDesn =
+            val content =
                 "欢迎" + User.getName() + "使用未来蓝豚康复平台!为您提供专业的认知康复支持和训练。帮助您提升认知能力,重建自信。小豚期待与您一同启程!"
-            showTaskDialog(taskDesn, "")
+            showTaskDialog(content, "")
         } else {
             //获取任务状态弹窗
             getSelectHomePageMsg()
@@ -252,7 +210,7 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
                 showLayout(false)
                 it!![0].let {
                     binding.task = it
-                    if (it.details.isNullOrEmpty().not()) {
+                    if (it.details.isEmpty().not()) {
                         val index = it.currentTaskNum - 1
                         currentTaskRecord = it.details[index]
                         taskList.addAll(it.details)
@@ -325,11 +283,11 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
     /**
      * 欢迎/确定信息弹窗
      */
-    private fun showTaskDialog(taskDesn: String, id: String) {
+    private fun showTaskDialog(content: String, id: String) {
         val taskFragment = TaskFragment()
-        taskFragment.setTaskDesn(taskDesn, id)
+        taskFragment.setTaskDesn(content, id)
         taskFragment.onDialogClickListener = {
-            if (id.isNullOrEmpty()) {
+            if (id.isEmpty()) {
                 if (TextUtils.equals("0", User.getFirstLogin())) {
                     //第一次登录弹窗欢迎
                     User.saveFirstLogin("1")
@@ -500,4 +458,102 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
         }
         super.onDestroy()
     }
+
+    @SuppressLint("ClickableViewAccessibility")
+    override fun onTouch(v: View, event: MotionEvent): Boolean {
+        when (event.action) {
+            MotionEvent.ACTION_DOWN -> {
+                if (v.id == R.id.imageSetting || v.id == R.id.layoutLiveBroadcast || v.id == R.id.layoutHelp ||
+                    v.id == R.id.layoutNotify || v.id == R.id.layoutServicePackage || v.id == R.id.tvPlayPorpoise ||
+                    v.id == R.id.tvProfessionalEvaluation || v.id == R.id.tvHealthCounseling || v.id == R.id.tvfunTime ||
+                    v.id == R.id.btnCheck || v.id == R.id.btnNextPage || v.id == R.id.btnTask
+                ) {
+                    v.startAnimation(getScaleAnimation())
+                }
+            }
+            MotionEvent.ACTION_UP -> {
+                v.startAnimation(getEndAnimation())
+                when (v.id) {
+                    R.id.imageSetting -> {
+                        //用户头像
+                        JumpUtil.jumpActivity(RouterUrlCommon.personalCenter, mContext)
+                    }
+                    R.id.layoutLiveBroadcast -> {
+                        //直播
+                        JumpUtil.jumpActivity(RouterUrlCommon.liveBroadcastList, mContext)
+                    }
+                    R.id.layoutHelp -> {
+                        //使用帮助
+                        JumpUtil.jumpActivity(RouterUrlCommon.help, mContext)
+                    }
+                    R.id.layoutNotify -> {
+                        //消息通知
+                        JumpUtil.jumpActivity(RouterUrlCommon.messageList, mContext)
+                    }
+                    R.id.layoutServicePackage -> {
+                        //服务套餐
+                        JumpUtil.jumpActivity(RouterUrlCommon.servicePackage, mContext)
+                    }
+                    R.id.tvPlayPorpoise -> {
+                        //畅玩蓝豚
+                        JumpUtil.jumpActivity(RouterUrlCommon.freeTrain, mContext)
+                    }
+                    R.id.tvProfessionalEvaluation -> {
+                        //专业测评
+                        JumpUtil.jumpActivity(RouterUrlCommon.evaluation, mContext)
+                    }
+                    R.id.tvHealthCounseling -> {
+                        //健康咨询
+                        "该功能正在开发中,敬请期待".toast()
+                    }
+                    R.id.tvfunTime -> {
+                        //康复课堂
+                        JumpUtil.jumpActivity(RouterUrlCommon.leisureBrain, mContext)
+                    }
+                    R.id.btnCheck -> {
+                        //查看
+                        JumpUtil.jumpActivity(RouterUrlCommon.trainData, mContext)
+                    }
+                    R.id.btnNextPage -> {
+                        //下一页
+                        pageList.clear()
+                        if (isFirstPage) {
+                            binding.btnNextPage.text = "上一页"
+                            isFirstPage = false
+                            pageList.addAll(gameList.subList(4, gameList.size))
+                        } else {
+                            binding.btnNextPage.text = "下一页"
+                            isFirstPage = true
+                            pageList.addAll(gameList.subList(0, 4))
+                        }
+                        gameAdapter.setData(pageList)
+                    }
+                    R.id.btnTask -> {
+                        //开始专属训练
+                        if (currentTaskRecord != null) {
+                            currentTaskRecord.let {
+                                val str =
+                                    it?.gameUrl + "?gameCode=" + it?.gameCode + "&isFull=true&isSound=true&playClass=A" + "&userToken=" + User.getToken()
+                                JumpUtil.jumpActivityWithUrl(
+                                    RouterUrlCommon.WEB_VIEW_INTERACTION_JS,
+                                    str,
+                                    mContext
+                                )
+                            }
+                        }
+                    }
+                }
+            }
+            MotionEvent.ACTION_CANCEL -> {
+                if (v.id == R.id.imageSetting || v.id == R.id.layoutLiveBroadcast || v.id == R.id.layoutHelp ||
+                    v.id == R.id.layoutNotify || v.id == R.id.layoutServicePackage || v.id == R.id.tvPlayPorpoise ||
+                    v.id == R.id.tvProfessionalEvaluation || v.id == R.id.tvHealthCounseling || v.id == R.id.tvfunTime ||
+                    v.id == R.id.btnCheck || v.id == R.id.btnNextPage || v.id == R.id.btnTask
+                ) {
+                    v.startAnimation(getEndAnimation())
+                }
+            }
+        }
+        return true
+    }
 }

+ 2 - 1
home/src/main/java/com/yingyangfly/home/dialog/DownlaodAppFragment.kt → home/src/main/java/com/yingyangfly/home/dialog/DownLoadAppFragment.kt

@@ -27,7 +27,7 @@ import java.io.File
 /**
  * App升级弹窗
  */
-class DownlaodAppFragment : DialogFragment(), View.OnTouchListener {
+class DownLoadAppFragment : DialogFragment(), View.OnTouchListener {
 
     private var upgradeBtn: AppCompatButton? = null
     private var progressBar: ProgressBar? = null
@@ -139,6 +139,7 @@ class DownlaodAppFragment : DialogFragment(), View.OnTouchListener {
         }
     }
 
+    @SuppressLint("ClickableViewAccessibility")
     override fun onTouch(v: View?, event: MotionEvent?): Boolean {
         if (isCancelable && dialog?.isShowing == true) {
             dismiss()