QML-我有一个由触摸、键导航或侧向上/向下导航按钮控制的 ListView。ListView 用于程序的不同部分,并且列表中的项目数量总是不同的。当使用键导航(keyPressLeft)从侧面导航到ListView时,我想将焦点设置在ListView当前页面的中间。我们现在使用的代码适用于每页有 5 个项目的列表,但它需要更加动态。这是我们现在使用的代码:
Keys.onLeftPressed: {
var first = menu.indexAt(0, menu.contentY+5)
var mid
if (first == menu.count-1) {
mid = first
} else if (first ==menu.count-2) {
mid = first+1
} else {
mid = first+2
}
menu.currentIndex= mid //menu.indexAt(0, menu.contentY+5) + 2
keyPressLeft.currentItem.forceActiveFocus()
}