Browse Source

1.修改切换页面显示底部导航栏bug

王鹏鹏 2 years ago
parent
commit
7795abfadd

+ 2 - 0
baselib/src/main/java/com/yingyangfly/baselib/base/BaseFragment.kt

@@ -15,6 +15,7 @@ import com.yingyangfly.baselib.R
 import com.yingyangfly.baselib.databinding.ActivityBaseBinding
 import com.yingyangfly.baselib.dialog.LoadingDialog
 import com.yingyangfly.baselib.ext.getDbClass
+import com.yingyangfly.baselib.ext.initBar
 import com.yingyangfly.baselib.utils.ResUtil
 import com.yingyangfly.baselib.utils.ViewTool
 import gorden.rxbus2.RxBus
@@ -55,6 +56,7 @@ abstract class BaseFragment<DB : ViewDataBinding> : Fragment(), OnRefreshLoadMor
         mContext = activity!!
         RxBus.get().register(this)
         ARouter.getInstance().inject(this)
+        initBar(false)
         initSmartRefresh()
         val params: ViewGroup.LayoutParams = LinearLayout.LayoutParams(
             LinearLayout.LayoutParams.MATCH_PARENT,

+ 2 - 0
baselib/src/main/java/com/yingyangfly/baselib/dialog/BaseDialogFragment.kt

@@ -9,6 +9,7 @@ import androidx.fragment.app.DialogFragment
 import com.yingyangfly.baselib.R
 import com.yingyangfly.baselib.databinding.FragmentDialogBaseBinding
 import com.yingyangfly.baselib.ext.getDbClass
+import com.yingyangfly.baselib.ext.initBar
 import com.yingyangfly.baselib.utils.ViewTool
 import kotlinx.android.synthetic.main.fragment_dialog_base.view.*
 
@@ -51,6 +52,7 @@ abstract class BaseDialogFragment<DB : ViewDataBinding> : DialogFragment(), View
         savedInstanceState: Bundle?
     ): View? {
         dialog?.window?.setBackgroundDrawableResource(android.R.color.transparent)
+        initBar(false)
         baseView = FragmentDialogBaseBinding.inflate(inflater)
         ViewTool.inflateFragmentPixels(activity, baseView.root, 1194, 834)
         baseView.llytContentDialog.addView(subViewBinding.root)

+ 21 - 2
baselib/src/main/java/com/yingyangfly/baselib/ext/ActivityExt.kt

@@ -13,6 +13,7 @@ import com.yingyangfly.baselib.R
 import com.yingyangfly.baselib.base.BaseActivity
 import com.yingyangfly.baselib.base.BaseFragment
 import com.yingyangfly.baselib.base.BaseFragmentActivity
+import com.yingyangfly.baselib.dialog.BaseDialogFragment
 import java.lang.reflect.ParameterizedType
 
 /**
@@ -27,7 +28,26 @@ import java.lang.reflect.ParameterizedType
  */
 fun BaseActivity<*>.initBar(full: Boolean) {
     immersionBar {
-//        titleBar(bindingBase.layoutTitle.titleRootView)
+        hideBar(BarHide.FLAG_HIDE_BAR)
+        navigationBarColor(R.color.transparent)
+    }
+}
+
+/**
+ * 沉浸式状态栏
+ */
+fun BaseDialogFragment<*>.initBar(full: Boolean) {
+    immersionBar {
+        hideBar(BarHide.FLAG_HIDE_BAR)
+        navigationBarColor(R.color.transparent)
+    }
+}
+
+/**
+ * 沉浸式状态栏
+ */
+fun BaseFragment<*>.initBar(full: Boolean) {
+    immersionBar {
         hideBar(BarHide.FLAG_HIDE_BAR)
         navigationBarColor(R.color.transparent)
     }
@@ -38,7 +58,6 @@ fun BaseActivity<*>.initBar(full: Boolean) {
  */
 fun BaseFragmentActivity<*>.initBar(full: Boolean) {
     immersionBar {
-//        titleBar(bindingBase.layoutTitle.titleRootView)
         hideBar(BarHide.FLAG_HIDE_BAR)
         navigationBarColor(R.color.transparent)
     }

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

@@ -208,6 +208,12 @@ class WorkbenchesActivity : BaseMVVMActivity<ActivityWorkbenchesBinding, Workben
                     }
                     taskAdapter.setCurrentTaskNum(it.currentTaskNum)
                     taskAdapter.setData(taskList)
+                    if (it.currentTaskNum == it.totalTaskNum) {
+                        showTipDialog()
+                    } else {
+                        showTaskDialog()
+                    }
+
                 }
             } else {
                 binding.rvGame.show(true)

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

@@ -10,6 +10,8 @@ import android.widget.TextView
 import androidx.appcompat.widget.AppCompatButton
 import androidx.fragment.app.DialogFragment
 import com.bumptech.glide.Glide
+import com.gyf.immersionbar.BarHide
+import com.gyf.immersionbar.ktx.immersionBar
 import com.yingyang.workbenches.R
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
 import com.yingyangfly.baselib.utils.ViewTool
@@ -43,6 +45,10 @@ class TaskFragment : DialogFragment(), View.OnTouchListener {
         container: ViewGroup?,
         savedInstanceState: Bundle?
     ): View? {
+        immersionBar {
+            hideBar(BarHide.FLAG_HIDE_BAR)
+            navigationBarColor(com.yingyangfly.baselib.R.color.transparent)
+        }
         val rootView = ViewTool.inflateFragmentPixels(
             activity, R.layout.fragment_task, container, 1194, 834
         )

+ 2 - 2
workbenches/src/main/java/com/yingyang/workbenches/traincontent/TrainContentViewModel.kt

@@ -17,7 +17,7 @@ class TrainContentViewModel : BaseViewModel() {
     fun findAllTreatment(
         fail: ((msg: String) -> Unit)? = null,
         success: ((success: List<TreatmentBean>) -> Unit)? = null,
-    ) = launchFlow(true) {
+    ) = launchFlow(false) {
         WORKBENCHES_API.findAllTreatment()
     }.runUI(
         success,
@@ -31,7 +31,7 @@ class TrainContentViewModel : BaseViewModel() {
         treatmentId: String,
         fail: ((msg: String) -> Unit)? = null,
         success: ((success: List<TrainContentBean>) -> Unit)? = null,
-    ) = launchFlow(true) {
+    ) = launchFlow(false) {
         WORKBENCHES_API.findMyTask(treatmentId)
     }.runUI(
         success,