Uygulamamda bisiklet istasyonları listesinden seçim yapmak için bir OptionSelector kullanıyorum. Ayrıca her istasyon için yer işaretçileri olan bir harita bileşenim var.
Bir yer işaretleyicisine dokunduğumda, bu iyi UX olduğu için OptionSelector öğesini karşılık gelen istasyonun dizinine değiştirir.
İyi olmayan UX, OptionSelector'ın bu endeks değişikliğine nasıl tepki verdiğidir, bu da kullanıcının parmağı tarafından hareket ettirilmiş gibi kendini canlandırır. Diğer bir deyişle, kullanıcı harita işaretleyiciye dokunduktan ve ihtiyaç duyduğu tüm bilgileri aldıktan çok sonra, OptionSelector hala istasyonun dizinine "dönüyor".
İşte bu davranışı gösteren bir video: https://www.youtube.com/watch?v=jXKWlAmNYsw
Bu OptionSelector'ın dizini hemen animasyon olmadan değiştirmesini istiyorum. Bunu yapmanın bir yolu var mı?
Şu anda bir şeyler yapıyorum. Eğer bununla ilgili yanlış bir yol buysa, düzeltildiğim için çok mutluyum. API çağrıları yapmak için bir WorkerScript (bir QML iş parçacığı, az ya da çok) kullanıyorum. Bu WorkerScript döndüğünde, OptionSelector öğesini şu şekilde taşır:
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.
*/
}
}
Herhangi bir yardım veya fikir takdir - alkış!