Как сделать независимую прокрутку строк и столбцов (приложение la Netflix) на Android в WebView?

В приложении Netflix для Android есть WebView, который охватывает почти всю область приложения. Когда вы перетаскиваете строку слева направо, она будет прокручивать только эту строку и делать это с помощью хорошей инерциальной прокрутки. Если вы перетаскиваете вверх и вниз, он будет пролистывать всю страницу вверх и вниз.

Приложение netflix для Android

Мне удалось дублировать эту функцию на iOS (в uiWebView, а также в Safari), но не на Android. На устройствах Android все, что я делаю, либо очень медленное, чтобы прокручивать, либо вы должны быть очень осторожны, прокручивая вертикально, чтобы начать, коснувшись области фона между строками. Ни один из них не является приемлемым. Очевидно, что я не хочу делать анимацию прокрутки в javascript, так как это будет слишком медленно.

Я знаю, что Netflix делает это с помощью WebView, так что … какой трюк они используют?

Я пробовал использовать свойства css (для строки div):

overflow-y: hidden; -webkit-overflow-scrolling-x: touch 

но безрезультатно.

Если вы не можете использовать css Android для своего WebView, почему бы не создать серверную функциональность, которая выводит только запрошенные строки в отдельные WebView?

Я бы сделал следующее:
* Запросите веб-сервер, чтобы определить, сколько строк есть.
* Программно добавить количество строк, которые веб-сервер говорит, что он имеет. Например, если сервер сообщает, что существует 5 строк, создайте 5 WebViews, каждый со своими собственными параметрами URL (например: первый WebView запросит mydomain.com/wv?row=1 ).
* Поместите каждую строку WebView в HorizontalScrollView и поместите все HorizontalScrollViews в VerticalScrollView.
* При изменении URL-адреса перейдите к полностраничному WebView, который отображает детали щелкнутой плитки.
* На задней панели нажмите, закройте полную страницу WebView и перезагрузите строки.

Не самый чистый из решений, но должен работать нормально.

Попробуйте использовать iScroll в своем HTML.
В ссылке вы можете найти исходный код, примеры и javascript libs.
Также он имеет некоторые полезные обратные вызовы.
Я использую его много, когда я работаю с WebView.

Netflix мог использовать собственное распознавание жестов и видел, был ли прокрутка более горизонтальной, а затем вертикальной или вертикальной, чем горизонтальной, а затем, основываясь на том, насколько далеко прокрутка, прокручивал веб-просмотр по горизонтали или по вертикали