在我的应用程序中,我使用一个OptionSelector来从自行车站列表中进行选择。我还有一个地图组件,每个站点都有一个标记。
当我点击一个标记时,它也会将OptionSelector更改为相应站点的索引,因为这是良好的用户体验。
不好的用户体验是OptionSelector对这个索引变化的响应方式,它会像用户的手指一样以动画的形式自己滑动。换句话说,在用户点击地图标记并获得所需的所有信息之后很长时间,OptionSelector仍然在“旋转”到站点的索引位置。
这里有一个视频演示了这种行为: https://www.youtube.com/watch?v=jXKWlAmNYsw 我希望这个OptionSelector能立即改变其索引,而不需要动画。有没有办法做到这一点?
以下是我目前的做法。如果这种方法不正确,我非常乐意接受纠正。我使用一个WorkerScript(一个QML线程,或多或少)来进行API调用。当这个WorkerScript返回时,它会移动OptionSelector,如下所示:
当我点击一个标记时,它也会将OptionSelector更改为相应站点的索引,因为这是良好的用户体验。
不好的用户体验是OptionSelector对这个索引变化的响应方式,它会像用户的手指一样以动画的形式自己滑动。换句话说,在用户点击地图标记并获得所需的所有信息之后很长时间,OptionSelector仍然在“旋转”到站点的索引位置。
这里有一个视频演示了这种行为: https://www.youtube.com/watch?v=jXKWlAmNYsw 我希望这个OptionSelector能立即改变其索引,而不需要动画。有没有办法做到这一点?
以下是我目前的做法。如果这种方法不正确,我非常乐意接受纠正。我使用一个WorkerScript(一个QML线程,或多或少)来进行API调用。当这个WorkerScript返回时,它会移动OptionSelector,如下所示:
WorkerScript {
id: queryStationsWorker
source: "../js/getstations.js"
onMessage: {
[...]
// Move the OptionSelector to the corresponding station's index.
stationSelector.selectedIndex = getLastStationIndex(lastStation.contents.stationName, stationsModel)
/*
* For the sake of clarity:
*
* getLastStationIndex() is a function which just returns an integer.
* lastStation is a U1DB database used for state saving.
* stationsModel is a model containing all of the stations.
*/
}
}
任何帮助或见解都会受到赞赏 - 干杯!