在TextView或WebView中突出显示文本
是否有可能在TextView
或WebView
突出显示文本?
我看到它可以在EditText
在EditText中高亮文本
我想在TextView
或WebView
做同样的事情。
这可能吗?
启用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());
比添加FindListener
到WebView
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。
我的答案是在这里,希望它可以帮助你: