在我的应用中,我使用OptionSelector从自行车站列表中进行选择。我还为每个站点都有一个带有地标的地图组件。
当我点击一个地标时,它也会将OptionSelector更改为相应工作站的索引,因为这是不错的UX。
不好的UX是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.
*/
}
}
任何帮助或见解表示赞赏-干杯!
能给我们足够的代码来重现您的问题吗?该视频当然很有帮助,但是如果没有一小段可重复使用的代码,很难帮助您(请参阅sscce.org)
—
Sylvain Pineau
嗨,西尔万。对于延迟,我们深表歉意。这是可以用来测试的QML文件。只需创建一个新的Ubuntu Simple UI项目,并用以下内容替换您的主要QML文件:pastebin.ubuntu.com/9534780
—
Aaron Hastings