2010-09-28

Flickable и touch-интерфейсы: избавляемся от нежелательного скролла

При работе с Flickable (а если конкретнее, то с ListView) наткнулся на то, что при не очень аккуратном нажатии пальцем на элемент происходит не нажатие, а небольшой скролл. Это портит User eXperience достаточно сильно, так как приходится очень точно целиться в элементы. К сожалению, в Assistant не указано что можно с этим делать, но небольшое курение исходников выявило, что надо просто увеличить значение свойства QApplication::startDragDistance и все сразу же станет как надо. Конечное значение подбирается исходя из размеров экрана (например на  HTC Hero это 25 пикселей).

3 комментария:

  1. К сожалению этот параметр влияет и на Drag-and-drop. Нет ли способа вообще отключить в QML ListView скроллинг? В моей программе используется слайдер, и скроллинг только мешает. Я не знаю как сделать синхронизацию ListView со слайдером, если происходит сколлинг ListView.

    ОтветитьУдалить
  2. Синхронизация Flickable и скролла описана в Assitant'е в описании одного из проперти

    ОтветитьУдалить