小编Aar*_*ngs的帖子

如何立即更改 OptionSelector 中的索引(无动画)?

在我的应用程序中,我使用 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.
         * …
Run Code Online (Sandbox Code Playgroud)

qt qml ubuntu-sdk ubuntu-touch

16
推荐指数
1
解决办法
634
查看次数

标签 统计

qml ×1

qt ×1

ubuntu-sdk ×1

ubuntu-touch ×1