В прошлом мы пытались связать событие «вверх» мыши в javascript, который отправляет диапазон в интерфейс javascript. Это событие срабатывает нормально, пока на экране не появится выделение. В этот момент выглядит так, будто webTextView немедленно вступает во владение, и событие повышения мыши никогда не регистрируется в webView. Мы должны поддержать обратно до 2.2, так что может быть почему.

емная область: считыватель формата ePub на базе Android WebView -

Нам нужны текстовые выделения, которые доступны с помощью методов JavaScript (т.е. включите их, выключите, сохраните, отправьте по электронной почте и т. Д.)

Кто-нибудь в курсе, пожалуйста, исправьте меня, если я ошибаюсь: во время выделения текста в WebView -

По сути, нам передается наложение TextView (WebTextView), которое НИКОГДА НЕ ПРИКЛАДЫВАЕТСЯ к базовому html, кроме визуально (хорошая работа по выравниванию всего этого и созданию бесшовного, кстати), для которого мы выполняем TextSelectionActionMode, и ClipboardManager предоставляется с результатами ... чтобы прояснить это, фактический HTML-код с WebView на самом деле не выбирается в любой момент во время этого процесса, поэтому JavaScript не может получить доступ к результатам действия.

Таким образом, чтобы заставить это поведение работать в 3.1+, у меня есть несколько возможных планов на будущее, чтобы реализовать свой собственный выбор в WebView - это та часть, где мне интересно, если я не могу видеть из своего угла :) - -

1) захватить MOTION_DOWN длинного щелчка, который запускает режим выбора, переопределить встроенный TextSelection ActionMode (чтобы обеспечить брендинг клиентов - способ, который я нашел, настолько хакерский, что причиняет боль) наблюдает за перетаскиванием, захватывает позицию MOTION_UP, отображает их координаты на WebView и сделать мой выбор на основе координат (сравнивая текст с текстом, захваченным ClipboardManager)

2) создать свой собственный «WebTextView» (вся лотосная работа), и не так уж и сильно создать свой собственный ActionMode и выполнить все вышеперечисленное.

3) использовать MotionEvents, сгенерированные процессом выбора акций, и каким-то образом переопределить режим Action TextSelection, вызванный этим.

Вот варианты, которые я вижу, надеюсь, моя близость и разочарование этим ослепили меня к более простому (читай как встроенному) решению или двум.

Еще раз спасибо за ваше время.

Ответы на вопрос(2)

Ваш ответ на вопрос