我想從Webview中選擇文本,然後僅突出顯示該單詞的選定顯示。有人有一個想法?使用JavaScript不起作用,因爲getSelection函數在android webview上不會返回任何內容。Android - 突出顯示WebView中的單詞/短語
請幫忙。
我想從Webview中選擇文本,然後僅突出顯示該單詞的選定顯示。有人有一個想法?使用JavaScript不起作用,因爲getSelection函數在android webview上不會返回任何內容。Android - 突出顯示WebView中的單詞/短語
請幫忙。
。您調查:
mainpage.showFindDialog("Alice", true);
其中炫魅是的WebView ...
這將彈出的WebView上述其中輸入文本酒吧 - 再突出的第一次出現文本。有箭頭跳轉到下一個等...
除非你的意思是你想強調某些單詞 - 並讓他們保持這種方式 - 那麼你需要注入一些JavaScript做一個突出顯示功能。
據我所知,您無法在桌面瀏覽器上(使用鼠標)在Android觸控設備上選擇文字。
看起來像在android設備上選擇文本的方式只能複製到剪貼板或由本地「共享」應用程序使用。
選擇文本=>將其複製到Clipboard =>使用ClipboardManager將其取回。
我可能不是那麼簡單和順利,你所期待的,但也許它會工作爲你:)
一旦你選定文本的價值,你可以隨時把它傳遞給一個javascript函數在你的html中搜索/替換它,並通過添加/填充一些html來突出顯示它。
鏈接到剪貼板管理器。 http://developer.android.com/reference/android/text/ClipboardManager.html
這裏有定期桌面瀏覽器與鼠標獲取所選文本的演示:
嘗試用你的Android設備上運行相同。文本選擇不以相同的方式工作。我想它是處理選擇的共享/剪貼板管理器,而不是瀏覽器本身。
祝你好運,希望你找到一個有效的解決方案,並會很樂意聽到它。
將下面的代碼複製文本到剪貼板剪貼板,然後獲取文本和搜索吧..
private void emulateShiftHeld(WebView view)
{
try
{
KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0);
shiftPressEvent.dispatch(view);
}
catch (Exception e)
{
Log.e("dd", "Exception in emulateShiftHeld()", e);
}
}
將下面的代碼高亮顯示您所選擇的文字...
ClipboardManager ClipMan = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipMan.setText(ClipMan.getText().toString());
wb.findAll(ClipMan.getText().toString());
try
{
Method m = WebView.class.getMethod("setFindIsUp", Boolean.TYPE);
m.invoke(wb, true);
}
catch (Throwable ignored){}
謝謝你的回答,但這不是我要找的。我想用選擇錨點手動選擇文本,並且在長時間保存那個選擇區域之後,我想永久地突出顯示(僅)選定文本的出現。 – Corje 2012-02-10 09:39:23