实现了垂直排序

This commit is contained in:
zxj
2025-07-28 10:50:15 +08:00
parent 8780f5d463
commit 307fc70ae2
5 changed files with 36 additions and 6 deletions
+11
View File
@@ -4,6 +4,17 @@
<selectionStates>
<SelectionState runConfigName="SmartPlateCabinet.app">
<option name="selectionMode" value="DROPDOWN" />
<DropdownSelection timestamp="2025-07-25T08:39:03.160022800Z">
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="Default" identifier="serial=?;connection=93a2ccce" />
</handle>
</Target>
</DropdownSelection>
<DialogSelection />
</SelectionState>
<SelectionState runConfigName="LoginByFaceActivity">
<option name="selectionMode" value="DROPDOWN" />
</SelectionState>
</selectionStates>
</component>
@@ -20,7 +20,7 @@ object GlobalData {
/**
* 竖排数量
*/
var arrayVertical: Int = 11
var arrayVertical: Int = 10
/**
* 排列方式 0 垂直 1 水平
@@ -339,6 +339,7 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
override fun onGlobalLayout() {
Timber.d("onGlobalLayout")
binding.dualCameraTexturePreviewRgb.getViewTreeObserver().removeOnGlobalLayoutListener(this)
// 请求权限
checkCameraPermission()
@@ -1,6 +1,7 @@
package com.sw.platecabinet.fragment
import android.view.View
import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
@@ -42,7 +43,7 @@ class SettingListFragment :
* 垂直滚动的adapter
*/
private var itemAdapter: GenericItemAdapter<EquipmentUserInfo, ItemBindViewBinding>? = null
private val itemsPerPage = GlobalData.arrayCross * GlobalData.arrayVertical // 每行2个,每列11个,共22个
private val itemsPerPage = 2 * GlobalData.arrayVertical // 每行2个,每列11个,共22个
override fun registerDataChange() {
super.registerDataChange()
@@ -107,6 +108,11 @@ class SettingListFragment :
item: EquipmentUserInfo,
position: Int
) {
if (item.equipmentBoxCode?.isEmpty() == true) {
this.llRoot.isVisible = false
return
}
this.llRoot.isVisible = true
this.tvNum.text = formatNumber(item.equipmentBoxCode ?: "")
if (item.isBound()) {
val date = DateTimeUtils.parseDateTime(item.updateTime)
@@ -176,14 +182,21 @@ class SettingListFragment :
fun updateAdapter(items: List<EquipmentUserInfo>) {
if (GlobalData.arrayCross > 2) {
var pages = if (items.size > itemsPerPage) {
items.chunked(itemsPerPage) {
convertToColumnFirst(it, 11)
val pageList = items.chunked(itemsPerPage)
pageList.mapIndexed { index, it ->
var itemList: MutableList<EquipmentUserInfo> = it.toMutableList()
if (index == pageList.size - 1) {
itemList = (itemList + List(GlobalData.arrayVertical) {
EquipmentUserInfo()
}) as MutableList<EquipmentUserInfo>
}
convertToColumnFirst(itemList, GlobalData.arrayVertical)
}
} else {
listOf(
// 根据条件判断是否需要重新排列
// items
convertToColumnFirst(items, 11)
items
// convertToColumnFirst(items, GlobalData.arrayVertical)
)
}
pageAdapter?.updatePages(pages)
@@ -46,6 +46,11 @@ class SettingViewModel : BaseViewModel() {
_equipmentList.value = response.data ?: emptyList()
}
}
// val list = mutableListOf<EquipmentUserInfo>()
// for (i in 1 .. 30){
// list.add(EquipmentUserInfo(id = i, equipmentBoxCode = i.toString()))
// }
// _equipmentList.value = list
}
/**