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