내 앱에서는 OptionSelector를 사용하여 자전거 스테이션 목록에서 선택합니다. 또한 각 역에 대한 아이콘이있는지도 구성 요소가 있습니다.
장소 표시기를 탭하면 OptionSelector도 해당 스테이션의 색인으로 변경됩니다. 이것은 좋은 UX이므로.
UX가 좋지 않은 것은 OptionSelector가이 인덱스 변경에 응답하는 방식인데, 이는 사용자의 손가락으로 튕겨 진 것처럼 애니메이션됩니다. 즉, 사용자가 맵 마커를 탭하고 필요한 모든 정보를 수신 한 후에도 OptionSelector는 여전히 스테이션의 인덱스에 "회전"합니다.
다음은이 동작을 보여주는 비디오입니다. https://www.youtube.com/watch?v=jXKWlAmNYsw
이 OptionSelector가 애니메이션없이 즉시 색인을 변경하고 싶습니다. 이 방법이 있습니까?
여기 내가 현재하는 일이 있습니다. 이것이 잘못된 방법 인 경우 수정을 기뻐합니다. API를 호출하기 위해 WorkerScript (QML 스레드, 다소간)를 사용합니다. 이 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.
*/
}
}
도움이나 통찰력이 있다면 감사합니다!