diff --git a/app/src/main/java/com/example/defenseapplication/adapter/DeviceAdapter.kt b/app/src/main/java/com/example/defenseapplication/adapter/DeviceAdapter.kt new file mode 100644 index 0000000..ed86fb8 --- /dev/null +++ b/app/src/main/java/com/example/defenseapplication/adapter/DeviceAdapter.kt @@ -0,0 +1,49 @@ +package com.example.defenseapplication.adapter + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.example.defenseapplication.R +import com.example.defenseapplication.databinding.ItemDeviceBinding + +data class DeviceUi( + val name: String, + val isOnline: Boolean +) + +class DeviceAdapter : RecyclerView.Adapter() { + + private val items = mutableListOf() + + fun submitList(deviceList: List) { + items.clear() + items.addAll(deviceList) + notifyDataSetChanged() + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): DeviceViewHolder { + val binding = ItemDeviceBinding.inflate(LayoutInflater.from(parent.context), parent, false) + return DeviceViewHolder(binding) + } + + override fun onBindViewHolder(holder: DeviceViewHolder, position: Int) { + holder.bind(items[position]) + } + + override fun getItemCount(): Int = items.size + + inner class DeviceViewHolder(private val binding: ItemDeviceBinding) : + RecyclerView.ViewHolder(binding.root) { + + fun bind(item: DeviceUi) { + binding.tvDeviceName.text = item.name + if (item.isOnline) { + binding.tvDeviceStatus.text = "\u25CF 正在运行" + binding.tvDeviceStatus.setTextColor(binding.root.context.getColor(R.color.green)) + } else { + binding.tvDeviceStatus.text = "\u25CF 离线" + binding.tvDeviceStatus.setTextColor(binding.root.context.getColor(R.color.red)) + } + } + } +} diff --git a/app/src/main/res/drawable/bg_capture_face_button.xml b/app/src/main/res/drawable/bg_capture_face_button.xml new file mode 100644 index 0000000..fc10719 --- /dev/null +++ b/app/src/main/res/drawable/bg_capture_face_button.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/app/src/main/res/drawable/bg_home_top_icon_green.xml b/app/src/main/res/drawable/bg_home_top_icon_green.xml new file mode 100644 index 0000000..61d653a --- /dev/null +++ b/app/src/main/res/drawable/bg_home_top_icon_green.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/bg_home_top_icon_light.xml b/app/src/main/res/drawable/bg_home_top_icon_light.xml new file mode 100644 index 0000000..52b5d38 --- /dev/null +++ b/app/src/main/res/drawable/bg_home_top_icon_light.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_back_arrow.xml b/app/src/main/res/drawable/ic_back_arrow.xml new file mode 100644 index 0000000..2f8d112 --- /dev/null +++ b/app/src/main/res/drawable/ic_back_arrow.xml @@ -0,0 +1,10 @@ + + + + diff --git a/app/src/main/res/drawable/ic_red_dot.xml b/app/src/main/res/drawable/ic_red_dot.xml new file mode 100644 index 0000000..1942a58 --- /dev/null +++ b/app/src/main/res/drawable/ic_red_dot.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/app/src/main/res/layout/item_device.xml b/app/src/main/res/layout/item_device.xml new file mode 100644 index 0000000..ea9490f --- /dev/null +++ b/app/src/main/res/layout/item_device.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/item_family.xml b/app/src/main/res/layout/item_family.xml new file mode 100644 index 0000000..276fa5b --- /dev/null +++ b/app/src/main/res/layout/item_family.xml @@ -0,0 +1,11 @@ + +