Это возможно, но необходимо было бы разделить UIScrollView на подклассы и переопределить всю сенсорную обработку. Это не был бы мой предпочтительный проект - это возьмет хороший бит работы для разбираний в нем.
Вы должны попробовать rangy - Кросс-браузерный диапазон JavaScript и библиотека выбора.
Когда WebView переходит в «Режим выбора», WebView фактически не используется для выделения ... Он помещается в «WebTextView» (закрытый класс в арсенале Android), который имитирует положение текста, но позволяет изображениям чтобы показать, и позволяет вам «выбрать» текст, который появляется в реальном HTML. Проблема возникает, когда вы пытаетесь взаимодействовать с WebView после «выделения» текста. Дескрипторы выделения и курсора находятся в правильном положении, но на самом деле они находятся в специальном WebTextView, о котором я упоминал, поэтому у вас фактически нет выбора, чтобы получить через JavaScript getSelection или любые другие средства в JavaScript. Я работаю над созданием ACTION_DOWN (из LongPress), который запускает выделение, а также перетаскивание и ACTION_UP релиза от перетаскивания работают для меня через JavaScript, но это очень сложно и совсем не удобно для пользователя ...
проверить источник (это большая работа, чтобы имитировать выделение текста, а не предоставлять его). Это грустно, и в настоящее время очень болезненно для проекта, который предприняла наша команда - особенно после того, как мы сделали то же самое приложение для iPad ...
Наконец, в Android 4.4 KitKat WebView теперь основан на Chromium.
Поэтому у нас есть доступ к window.getSelection()
!!
wv.evaluateJavascript("console.log(window.getSelection().baseNode.nodeValue);", null);
Протестировано на Nexus 5 & amp; Nexus 7.