問題のドメイン:AndroidWebViewベースのePubフォーマットリーダー-
JavaScriptメソッドを介してアクセスできるテキストハイライトが必要です(つまり、emをオンにする、オフにする、電子メールで保存するなど)
知っている人は、私が間違っている場合は訂正してください:WebViewでのテキスト選択中-
基本的に、TextViewオーバーレイ(WebTextView)が渡されます。これは、視覚的以外の基になるhtmlに添付されていません(すべてを並べてシームレスにするのは良い仕事です)。そこでTextSelectionActionModeを実行し、ClipboardManagerが提供されます。結果とともに...明確にするために、WebViewを使用した実際のHTMLは、このストックプロセス中のどの時点でも実際には選択されません。そのため、JavaScriptはアクションの結果にアクセスできません。
したがって、この動作を3.1以降で機能させるために、WebViewに独自の選択を実装するためのいくつかの可能な計画があります。これは、隅から見えないかどうか疑問に思っている部分です:)- -
1)選択モードを開始するロングクリックのMOTION_DOWNをキャプチャし、組み込みのTextSelection ActionModeをオーバーライドします(クライアントのブランドを提供するために-私が見つけた方法は非常にハックで痛いです)ドラッグを見て、MOTION_UPの位置をキャプチャし、これらをマップしますWebViewにコーディネイトし、コーディネイトに基づいて選択します(テキストをClipboardManagerによってキャプチャされたものと比較しながら)
2)独自の「WebTextView」を作成し(全体が機能します笑)、それほどハックされていない独自のActionModeを作成し、上記のすべてを実行します。
3)ストック選択プロセスによって生成されたMotionEventsを使用し、これによってトリガーされたストックTextSelectionActionModeを何らかの方法でオーバーライドします。
これらは私が見るオプションです。うまくいけば、これに対する私の近接性と欲求不満が、より単純な(組み込みのソリューションとして読む)ソリューションに私を盲目にしました。
お時間をいただき、ありがとうございました。