在TextView或WebView中突出显示文本

是否有可能在TextViewWebView突出显示文本?

我看到它可以在EditText

在EditText中高亮文本

我想在TextViewWebView做同样的事情。
这可能吗?

启用TextView的Spannable存储! 默认情况下,EditText中的Spannable存储为true。

所以

 TextView myTV = (TextView)findViewById(R.id.textView1); String textString = "StackOverFlow Rocks!!!"; Spannable spanText = Spannable.Factory.getInstance().newSpannable(textString); spanText.setSpan(new BackgroundColorSpan(0xFFFFFF00), 14, 19, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); myTV.setText(spanText); 

你也可以使用WebView这个解决scheme。 调用findAllAsync

 webview.findAllAsync(((EditText) findViewById(R.id.edit)).getText().toString()); 

比添加FindListenerWebView

  webview.setFindListener(new FindListener() { @Override public void onFindResultReceived(int activeMatchOrdinal, int numberOfMatches, boolean isDoneCounting) { Toast.makeText(getApplicationContext(), "Matches: " + numberOfMatches, Toast.LENGTH_LONG).show(); } }); 

webview.findNext(false);迭代结果webview.findNext(false); 虚假/真实显示方向。

但是这个解决scheme是在API level 16添加的! 而不是你可以设置JavaScript高 – http://www.nsftools.com/misc/SearchAndHighlight.htm

其实,你不必自己开发这个function。 您只需要使用EditText代替TextView,而将android:editable的EditText设置为false。

我的答案是在这里,希望它可以帮助你:

https://stackoverflow.com/a/11026292/966405