Kaynağa Gözat

1.修改recycleview数据为为空时页面展示

王鹏鹏 2 yıl önce
ebeveyn
işleme
cff4858f9c

+ 1 - 0
.idea/misc.xml

@@ -169,6 +169,7 @@
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_train_report.xml" value="0.536" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_training_content.xml" value="0.176" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_training_content_details.xml" value="0.1" />
+        <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/layout_empty.xml" value="0.1" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/spinner_list_item.xml" value="0.1" />
         <entry key="..\:/workspace/yingyangfly/app/src/main/res/layout/activity_main.xml" value="0.22826086956521738" />
         <entry key="..\:/workspace/yingyangfly/app/src/main/res/layout/activity_push.xml" value="0.22239583333333332" />

+ 4 - 9
workbenches/src/main/java/com/yingyang/workbenches/freetraining/FreeTrainActivity.kt

@@ -9,6 +9,7 @@ import com.yingyang.workbenches.databinding.ActivityFreeTrainBinding
 import com.yingyang.workbenches.entity.Record
 import com.yingyang.workbenches.entity.TrainTypeBean
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
+import com.yingyangfly.baselib.ext.show
 import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
 import com.yingyangfly.baselib.router.RouterUrlCommon
@@ -38,8 +39,6 @@ class FreeTrainActivity : BaseMVVMActivity<ActivityFreeTrainBinding, FreeTrainVi
         freeTypeList.clear()
         freeTypeList.add(TrainTypeBean(dictLabel = "全部训练", dictValue = "", dictType = "game_type"))
         binding {
-            layoutTraining.setEnableRefresh(true)
-            layoutTraining.setEnableLoadMore(false)
             //自由训练类型
             rvTrainType.layoutManager = LinearLayoutManager(this@FreeTrainActivity)
             rvTrainType.adapter = freeTrainTypeAdapter
@@ -51,7 +50,6 @@ class FreeTrainActivity : BaseMVVMActivity<ActivityFreeTrainBinding, FreeTrainVi
             }
             //自由训练游戏列表
             rvTrain.layoutManager = GridLayoutManager(this@FreeTrainActivity, 4)
-            freeTrainListAdapter.showEmptyView = true
             rvTrain.adapter = freeTrainListAdapter
             freeTrainListAdapter.onGameClickListener = { bean ->
                 val str =
@@ -67,9 +65,6 @@ class FreeTrainActivity : BaseMVVMActivity<ActivityFreeTrainBinding, FreeTrainVi
             layoutHead.setOnSingleClickListener {
                 JumpUtil.jumpActivity(RouterUrlCommon.home, mContext)
             }
-            layoutTraining.setOnRefreshListener {
-                loadData()
-            }
         }
     }
 
@@ -105,14 +100,14 @@ class FreeTrainActivity : BaseMVVMActivity<ActivityFreeTrainBinding, FreeTrainVi
     private fun loadData() {
         freeTrainList.clear()
         viewModel.getFreeTrainList(type, fail = {
-            binding.layoutTraining.finishRefresh()
             it.toast()
         }, success = {
-            binding.layoutTraining.finishRefresh()
             freeTrainList.clear()
-            if (it != null) {
+            if (it.isNullOrEmpty().not()) {
                 freeTrainList.addAll(it)
             }
+            binding.rvTrain.show(freeTrainList.isNullOrEmpty().not())
+            binding.emptLayout.show(freeTrainList.isNullOrEmpty())
             freeTrainListAdapter.setData(freeTrainList)
         })
     }

+ 12 - 1
workbenches/src/main/java/com/yingyang/workbenches/leisurebrain/LeisureBrainActivity.kt

@@ -2,12 +2,14 @@ package com.yingyang.workbenches.leisurebrain
 
 import androidx.recyclerview.widget.GridLayoutManager
 import com.alibaba.android.arouter.facade.annotation.Route
+import com.alibaba.android.arouter.launcher.ARouter
 import com.yingyang.workbenches.adapter.LeisureBrainListAdapter
 import com.yingyang.workbenches.adapter.LeisureBrainTypeAdapter
 import com.yingyang.workbenches.databinding.ActivityLeisureBrainBinding
 import com.yingyang.workbenches.entity.LeisureBrainBean
 import com.yingyang.workbenches.entity.TrainTypeBean
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
+import com.yingyangfly.baselib.ext.show
 import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
 import com.yingyangfly.baselib.router.RouterUrlCommon
@@ -57,7 +59,14 @@ class LeisureBrainActivity :
             leisureBrainListAdapter.showEmptyView = true
             rvLeisureBrain.adapter = leisureBrainListAdapter
             leisureBrainListAdapter.onLeisureBrainTypeClickListener = { bean ->
-                JumpUtil.jumpActivityWithUrl(RouterUrlCommon.videoPlayer, bean.videoUrl, mContext)
+                ARouter.getInstance().build(RouterUrlCommon.videoPlayer)
+                    .withString("url", bean.videoUrl)
+                    .withString("title", bean.videoName)
+                    .withTransition(
+                        com.yingyangfly.baselib.R.anim.leftin,
+                        com.yingyangfly.baselib.R.anim.leftout
+                    )
+                    .navigation(mContext)
             }
         }
     }
@@ -112,6 +121,8 @@ class LeisureBrainActivity :
             if (it.isNullOrEmpty().not()) {
                 leisureBrainList.addAll(it)
             }
+            binding.rvLeisureBrain.show(leisureBrainList.isNullOrEmpty().not())
+            binding.emptLayout.show(leisureBrainList.isNullOrEmpty())
             leisureBrainListAdapter.setData(leisureBrainList)
         })
     }

+ 32 - 11
workbenches/src/main/res/layout/activity_free_train.xml

@@ -76,28 +76,49 @@
                     app:layout_constraintRight_toRightOf="parent"
                     app:layout_constraintTop_toTopOf="parent" />
 
-                <com.scwang.smart.refresh.layout.SmartRefreshLayout
-                    android:id="@+id/layoutTraining"
+                <androidx.recyclerview.widget.RecyclerView
+                    android:id="@+id/rvTrain"
                     android:layout_width="match_parent"
                     android:layout_height="0dp"
                     android:layout_marginStart="@dimen/divider_16px"
-                    android:layout_marginBottom="@dimen/divider_8px"
                     android:layout_marginTop="@dimen/divider_8px"
+                    android:layout_marginBottom="@dimen/divider_8px"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintLeft_toLeftOf="parent"
+                    android:visibility="gone"
+                    app:layout_constraintRight_toRightOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/tvTitle" />
+
+                <LinearLayout
+                    android:id="@+id/emptLayout"
+                    android:layout_width="match_parent"
+                    android:layout_height="0dp"
+                    android:orientation="vertical"
                     app:layout_constraintBottom_toBottomOf="parent"
                     app:layout_constraintLeft_toLeftOf="parent"
                     app:layout_constraintRight_toRightOf="parent"
                     app:layout_constraintTop_toBottomOf="@+id/tvTitle">
 
-                    <com.scwang.smart.refresh.header.ClassicsHeader
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content" />
+                    <ImageView
+                        android:id="@+id/iv_empty"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center_horizontal"
+                        android:layout_marginTop="@dimen/divider_85px"
+                        android:background="@mipmap/icon_empt_data" />
 
-                    <androidx.recyclerview.widget.RecyclerView
-                        android:id="@+id/rvTrain"
-                        android:layout_width="match_parent"
-                        android:layout_height="match_parent" />
+                    <TextView
+                        android:id="@+id/empty_view_message"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center_horizontal"
+                        android:layout_marginTop="@dimen/divider_32px"
+                        android:paddingEnd="@dimen/divider_18px"
+                        android:text="@string/there_is_currently_no_data_available"
+                        android:textColor="@color/coloe_D8D8D8"
+                        android:textSize="@dimen/divider_42px" />
 
-                </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+                </LinearLayout>
 
             </androidx.constraintlayout.widget.ConstraintLayout>
         </androidx.cardview.widget.CardView>

+ 30 - 10
workbenches/src/main/res/layout/activity_leisure_brain.xml

@@ -77,8 +77,8 @@
                     app:layout_constraintRight_toRightOf="parent"
                     app:layout_constraintTop_toTopOf="parent" />
 
-                <com.scwang.smart.refresh.layout.SmartRefreshLayout
-                    android:id="@+id/layoutTraining"
+                <androidx.recyclerview.widget.RecyclerView
+                    android:id="@+id/rvLeisureBrain"
                     android:layout_width="match_parent"
                     android:layout_height="0dp"
                     android:layout_margin="@dimen/divider_28px"
@@ -86,18 +86,38 @@
                     app:layout_constraintBottom_toBottomOf="parent"
                     app:layout_constraintLeft_toLeftOf="parent"
                     app:layout_constraintRight_toRightOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/tvTitle" />
+
+                <LinearLayout
+                    android:id="@+id/emptLayout"
+                    android:layout_width="match_parent"
+                    android:layout_height="0dp"
+                    android:orientation="vertical"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintLeft_toLeftOf="parent"
+                    app:layout_constraintRight_toRightOf="parent"
                     app:layout_constraintTop_toBottomOf="@+id/tvTitle">
 
-                    <com.scwang.smart.refresh.header.ClassicsHeader
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content" />
+                    <ImageView
+                        android:id="@+id/iv_empty"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center_horizontal"
+                        android:layout_marginTop="@dimen/divider_85px"
+                        android:background="@mipmap/icon_empt_data" />
 
-                    <androidx.recyclerview.widget.RecyclerView
-                        android:id="@+id/rvLeisureBrain"
-                        android:layout_width="match_parent"
-                        android:layout_height="match_parent" />
+                    <TextView
+                        android:id="@+id/empty_view_message"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center_horizontal"
+                        android:layout_marginTop="@dimen/divider_32px"
+                        android:paddingEnd="@dimen/divider_18px"
+                        android:text="@string/there_is_currently_no_data_available"
+                        android:textColor="@color/coloe_D8D8D8"
+                        android:textSize="@dimen/divider_42px" />
 
-                </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+                </LinearLayout>
 
             </androidx.constraintlayout.widget.ConstraintLayout>
         </androidx.cardview.widget.CardView>

BIN
workbenches/src/main/res/mipmap-xxhdpi/icon_empt_data.png