能否在TextView
或WebView
中突出显示文本?
我看到在EditText
中可以实现。
我想在TextView
或WebView
中做同样的事情。
这个是可能的吗?
能否在TextView
或WebView
中突出显示文本?
我看到在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.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);
在结果中进行迭代,其中false/true表示方向。API level 16
中添加的!!!相反,您可以设置JavaScript进行高亮显示-http://www.nsftools.com/misc/SearchAndHighlight.htm。对于 TextView
您可以在您的活动、片段或适配器中使用 textView.setTextIsSelectable(true)
。
实际上,您不必自己开发此功能。您只需要使用EditText而不是TextView,同时将EditText的android:editable设置为false。
我的答案在这里,希望能对您有所帮助: