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()
}