Jelajahi Sumber

1.修改任务提醒当天只显示一次

王鹏鹏 2 tahun lalu
induk
melakukan
3d6079dea2

+ 1 - 0
.idea/misc.xml

@@ -94,6 +94,7 @@
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/activity_workbenches.xml" value="0.72" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/dialog_course_treatment.xml" value="0.1" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/dialog_purchase_services.xml" value="0.2962239583333333" />
+        <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/dialog_tips.xml" value="0.136" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/fragment_brain_ability.xml" value="0.21014492753623187" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/fragment_data_monitor.xml" value="0.2" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/fragment_free_training.xml" value="0.21014492753623187" />

+ 2 - 4
workbenches/src/main/java/com/yingyang/workbenches/WorkbenchesActivity.kt

@@ -8,6 +8,7 @@ import com.yingyang.workbenches.adapter.GameAdapter
 import com.yingyang.workbenches.adapter.TaskAdapter
 import com.yingyang.workbenches.databinding.ActivityWorkbenchesBinding
 import com.yingyang.workbenches.dialog.TaskFragment
+import com.yingyang.workbenches.dialog.TipsDialog
 import com.yingyang.workbenches.entity.Record
 import com.yingyangfly.baselib.dialog.TipDialogFragment
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
@@ -136,9 +137,7 @@ class WorkbenchesActivity : BaseMVVMActivity<ActivityWorkbenchesBinding, Workben
      * 训练完成弹窗页面
      */
     private fun showTipDialog() {
-        playVoice?.speak("恭喜您 您完成了今天的专属训练!今天的训练报告已生成,快去查看吧!")
-        TipDialogFragment.TipDialogBuilder()
-            .title("恭喜您")
+        TipsDialog.TipDialogBuilder().title("恭喜您")
             .content("恭喜您 您完成了今天的专属训练!今天的训练报告已生成,快去查看吧!")
             .leftBtnText("稍后再看")
             .rightBtnText("立即查看")
@@ -226,7 +225,6 @@ class WorkbenchesActivity : BaseMVVMActivity<ActivityWorkbenchesBinding, Workben
                             showTaskDialog(it.taskDesn)
                         }
                     }
-
                 }
             } else {
                 binding.rvGame.show(true)

+ 6 - 0
workbenches/src/main/java/com/yingyang/workbenches/dialog/PurchaseServicesDialog.kt

@@ -17,6 +17,8 @@ import androidx.constraintlayout.widget.ConstraintLayout
 import androidx.fragment.app.DialogFragment
 import com.bumptech.glide.Glide
 import com.google.zxing.common.BitmapUtils
+import com.gyf.immersionbar.BarHide
+import com.gyf.immersionbar.ktx.immersionBar
 import com.yingyang.workbenches.R
 import com.yingyang.workbenches.entity.GetPayImageEvent
 import com.yingyang.workbenches.entity.GetQrCodeEvent
@@ -74,6 +76,10 @@ class PurchaseServicesDialog : DialogFragment() {
         container: ViewGroup?,
         savedInstanceState: Bundle?
     ): View? {
+        immersionBar {
+            hideBar(BarHide.FLAG_HIDE_BAR)
+            navigationBarColor(R.color.transparent)
+        }
         val rootView = ViewTool.inflateFragmentPixels(
             activity, R.layout.dialog_purchase_services, container, 1194, 834
         )

+ 178 - 0
workbenches/src/main/java/com/yingyang/workbenches/dialog/TipsDialog.kt

@@ -0,0 +1,178 @@
+package com.yingyang.workbenches.dialog
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.fragment.app.DialogFragment
+import androidx.fragment.app.FragmentManager
+import com.gyf.immersionbar.BarHide
+import com.gyf.immersionbar.ktx.immersionBar
+import com.yingyang.workbenches.R
+import com.yingyangfly.baselib.base.BaseActivity
+import com.yingyangfly.baselib.ext.setOnSingleClickListener
+import com.yingyangfly.baselib.ext.show
+import com.yingyangfly.baselib.utils.ViewTool
+import gorden.rxbus2.RxBus
+
+/**
+ * 提示框dialog
+ */
+class TipsDialog(val builder: TipDialogBuilder) : DialogFragment() {
+
+    private var tvTitle: TextView? = null
+    private var tvContent: TextView? = null
+    private var tvLeft: TextView? = null
+    private var tvRight: TextView? = null
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        RxBus.get().register(this)
+        isCancelable = false
+        dialog?.setCanceledOnTouchOutside(true)
+    }
+
+    override fun onStart() {
+        super.onStart()
+        dialog?.window?.setLayout(
+            ViewGroup.LayoutParams.MATCH_PARENT,
+            ViewGroup.LayoutParams.MATCH_PARENT
+        )
+        dialog?.window?.setBackgroundDrawableResource(R.color.transparent)
+    }
+
+    override fun onCreateView(
+        inflater: LayoutInflater,
+        container: ViewGroup?,
+        savedInstanceState: Bundle?
+    ): View? {
+        immersionBar {
+            hideBar(BarHide.FLAG_HIDE_BAR)
+            navigationBarColor(R.color.transparent)
+        }
+        val rootView = ViewTool.inflateFragmentPixels(
+            activity, R.layout.dialog_tips, container, 1194, 834
+        )
+        findId(rootView)
+        init()
+        return rootView
+    }
+
+    private fun findId(rootView: View) {
+        tvTitle = rootView.findViewById(R.id.tvTitle)
+        tvContent = rootView.findViewById(R.id.tvContent)
+        tvLeft = rootView.findViewById(R.id.tvLeft)
+        tvRight = rootView.findViewById(R.id.tvRight)
+        if (builder.title.isNullOrEmpty()) {
+            tvTitle?.show(false)
+        } else {
+            tvTitle?.show(true)
+            tvTitle?.text = builder.title
+        }
+        if (builder.titleRes != 0) {
+            tvTitle?.show(true)
+            tvTitle?.setText(builder.titleRes)
+        }
+        if (builder.content.isNullOrEmpty()) {
+            tvContent?.show(false)
+        } else {
+            tvContent?.show(true)
+            tvContent?.text = builder.content
+        }
+        if (builder.contentRes != 0) {
+            tvContent?.show(true)
+            tvContent?.setText(builder.contentRes)
+        }
+        if (builder.leftBtnText.isNullOrEmpty().not()) {
+            tvLeft?.text = builder.leftBtnText
+        }
+        if (builder.rightBtnText.isNullOrEmpty().not()) {
+            tvRight?.text = builder.rightBtnText
+        }
+        tvLeft?.setOnSingleClickListener {
+            builder.leftClickListener.invoke()
+        }
+        tvRight?.setOnSingleClickListener {
+            builder.rightClickListener.invoke()
+        }
+
+    }
+
+    private fun init() {
+
+    }
+
+
+    class TipDialogBuilder {
+
+        var title = ""
+        var titleRes = 0
+        var content = ""
+        var contentRes = 0
+        var leftBtnText = ""
+        var rightBtnText = ""
+        var leftClickListener: () -> Unit = {}
+        var rightClickListener: () -> Unit = {}
+        var outCancel = true
+
+        fun title(title: String = "", titleRes: Int = 0): TipDialogBuilder {
+            this.title = title
+            this.titleRes = titleRes
+            return this
+        }
+
+        fun content(content: String = "", contentRes: Int = 0): TipDialogBuilder {
+            this.content = content
+            this.contentRes = contentRes
+            return this
+        }
+
+        /**
+         * 黑色文字
+         */
+        fun leftBtnText(text: String): TipDialogBuilder {
+            leftBtnText = text
+            return this
+        }
+
+        /**
+         * 蓝色文字
+         */
+        fun rightBtnText(text: String): TipDialogBuilder {
+            rightBtnText = text
+            return this
+        }
+
+        fun rightClick(c: () -> Unit = {}, dimiss: Boolean = false): TipDialogBuilder {
+            rightClickListener = {
+                c.invoke()
+                if (dimiss) {
+                    tipsDialog?.dismiss()
+                }
+            }
+            return this
+        }
+
+        fun leftClick(c: () -> Unit = {}, dimiss: Boolean = false): TipDialogBuilder {
+            leftClickListener = {
+                c.invoke()
+                if (dimiss) {
+                    tipsDialog?.dismiss()
+                }
+            }
+            return this
+        }
+
+        var tipsDialog: TipsDialog? = null
+
+        fun build(): TipsDialog? {
+            tipsDialog = TipsDialog(this)
+            return tipsDialog
+        }
+
+        fun show(fragmentManager: FragmentManager) {
+            build()?.show(fragmentManager, title)
+        }
+    }
+}

+ 80 - 0
workbenches/src/main/res/layout/dialog_tips.xml

@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:ignore="ResourceName">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_marginStart="@dimen/divider_264px"
+        android:layout_marginTop="@dimen/divider_203px"
+        android:layout_marginEnd="@dimen/divider_264px"
+        android:layout_marginBottom="@dimen/divider_203px"
+        android:background="@drawable/bg_dialog_base"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toTopOf="parent">
+
+        <TextView
+            android:id="@+id/tvTitle"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/divider_71px"
+            android:textColor="@color/color_FFF6A532"
+            android:textSize="@dimen/divider_42px"
+            android:textStyle="bold"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            tools:text="恭喜您" />
+
+        <TextView
+            android:id="@+id/tvContent"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/divider_65px"
+            android:layout_marginTop="@dimen/divider_29px"
+            android:layout_marginEnd="@dimen/divider_32px"
+            android:textColor="@color/color_FF333333"
+            android:textSize="@dimen/divider_28px"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tvTitle"
+            tools:text="通知" />
+
+        <TextView
+            android:id="@+id/tvLeft"
+            android:layout_width="@dimen/divider_204px"
+            android:layout_height="@dimen/divider_59px"
+            android:layout_marginStart="@dimen/divider_92px"
+            android:layout_marginTop="@dimen/divider_72px"
+            android:background="@drawable/bg_dialog_tip_left"
+            android:gravity="center"
+            android:textColor="@color/color_FF4D7EFF"
+            android:textSize="@dimen/divider_24px"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tvContent"
+            tools:text="稍后再看" />
+
+        <TextView
+            android:id="@+id/tvRight"
+            android:layout_width="@dimen/divider_204px"
+            android:layout_height="@dimen/divider_59px"
+            android:layout_marginTop="@dimen/divider_72px"
+            android:layout_marginEnd="@dimen/divider_100px"
+            android:background="@drawable/bg_dialog_tip_right"
+            android:gravity="center"
+            android:textColor="@android:color/white"
+            android:textSize="@dimen/divider_24px"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tvContent"
+            tools:text="立即查看" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>