Bladeren bron

1.添加MainActivity主页的布局适配器

master
wangwanlei 11 maanden geleden
bovenliggende
commit
ddb14ecd6d
2 gewijzigde bestanden met toevoegingen van 78 en 0 verwijderingen
  1. 64
    0
      app/src/main/java/com/xhly/manageapp/AppAdapter.kt
  2. 14
    0
      app/src/main/res/layout/item_app.xml

+ 64
- 0
app/src/main/java/com/xhly/manageapp/AppAdapter.kt Bestand weergeven

@@ -0,0 +1,64 @@
1
+package com.xhly.manageapp
2
+
3
+import android.content.Context
4
+import android.view.LayoutInflater
5
+import android.view.ViewGroup
6
+import androidx.recyclerview.widget.RecyclerView
7
+import com.xhly.corelib.bean.AppInfo
8
+import com.xhly.manageapp.databinding.ItemAppBinding
9
+import java.util.Calendar
10
+
11
+class AppAdapter(var context: Context, var data: ArrayList<AppInfo>) :
12
+    RecyclerView.Adapter<AppAdapter.AppViewHolder>() {
13
+
14
+
15
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AppViewHolder {
16
+        val inflate = ItemAppBinding.inflate(LayoutInflater.from(context), parent, false)
17
+        return AppViewHolder(inflate)
18
+    }
19
+
20
+    override fun getItemCount(): Int {
21
+        return data.size+2
22
+    }
23
+
24
+    override fun onBindViewHolder(holder: AppViewHolder, position: Int) {
25
+        if (position==data.size){
26
+            context.resources.getDrawable(R.drawable.icon_speed,null)
27
+                ?.let { holder.mBinding.itemCv.setImageDrawable(it) }
28
+            holder.mBinding.itemCv.setText(context.getString(R.string.speed))
29
+            holder.mBinding.itemCv.setOnClickListener {
30
+
31
+            }
32
+        }else if (position==data.size+1){
33
+            context.resources.getDrawable(R.drawable.icon_clear,null)
34
+                ?.let { holder.mBinding.itemCv.setImageDrawable(it) }
35
+            holder.mBinding.itemCv.setText(context.getString(R.string.clear))
36
+            holder.mBinding.itemCv.setOnClickListener {
37
+
38
+            }
39
+        }else{
40
+            val appInfo = data[position]
41
+            holder.mBinding.itemCv.setImageDrawable(appInfo.ico)
42
+            holder.mBinding.itemCv.setText(appInfo.name)
43
+            holder.mBinding.itemCv.setOnClickListener {
44
+                var currentTimeMillis = System.currentTimeMillis()
45
+                var instance = Calendar.getInstance()
46
+                instance.set(Calendar.HOUR_OF_DAY, 11)
47
+                instance.set(Calendar.MINUTE, 0)
48
+                var timeInMillis = instance.timeInMillis
49
+                context.startActivity(appInfo.intent)
50
+                /* if (currentTimeMillis>=timeInMillis){
51
+                    context.startActivity(appInfo.intent)
52
+                }else{
53
+                    Toaster.showLong("开放时间为"+timeInMillis.toFormat())
54
+                }*/
55
+            }
56
+        }
57
+    }
58
+
59
+
60
+    class AppViewHolder(binding: ItemAppBinding) : RecyclerView.ViewHolder(binding.root) {
61
+        var mBinding = binding
62
+    }
63
+
64
+}

+ 14
- 0
app/src/main/res/layout/item_app.xml Bestand weergeven

@@ -0,0 +1,14 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
+    xmlns:tools="http://schemas.android.com/tools"
4
+    android:layout_width="match_parent"
5
+    android:layout_height="wrap_content"
6
+    android:layout_marginBottom="20dp"
7
+    tools:ignore="UseCompoundDrawables">
8
+
9
+    <com.xhly.manageapp.customview.CombinationCardView
10
+        android:id="@+id/item_cv"
11
+        android:layout_width="96dp"
12
+        android:layout_height="117dp"
13
+        android:layout_gravity="center" />
14
+</FrameLayout>

Laden…
Annuleren
Opslaan