Обработка нескольких целей касания внутри ListView или RadListView (NativeScript) - PullRequest
0 голосов
/ 18 декабря 2018

Я создаю представление «новостной ленты», в котором пользователи могут взаимодействовать с сообщениями обычным способом:

  • Нажатие на содержимое публикации приводит вас к подробному экрану
  • При нажатии на кнопку «Нравится» нравится запись
  • При нажатии на кнопку комментария запускается композитор

По соображениям производительности я пытаюсь использовать ListView вместо ScrollView, поэтомучто лента может использовать преимущества повторного использования, отложенного рендеринга и т. д. Конечно, каждая запись - это одна «строка» в списке.

Вот в чем загвоздка: согласно документам, я могу только слушать itemTap событие на весь ряд.Технически я могу поставить слушателя tap на кнопку «Мне нравится», но это предотвращает запуск события itemTap.Это не было бы большим делом, но tap срабатывает на кнопку, даже если кто-то касается экрана просто, чтобы остановить прокрутку.Событие itemTap компенсирует это и срабатывает только тогда, когда пользователь намеренно нажимает на строку (не только для того, чтобы остановить прокрутку).Поэтому мне нужно предпринять действия, основанные на itemTap, а не на кнопке tap.

Я искал способы сказать NativeScript, что нужно передавать событие tap от кнопки до ListView., но все, что я обнаружил, касается предотвращения распространения.

Такое ощущение, что я что-то здесь упускаю.В наши дни многие приложения имеют представления в стиле фида, и существует множество представлений, которые имеют несколько «кнопок» на строку.Какой правильный подход здесь?У NativeScript просто нет способа справиться с этим?

...