android过滤html标签
⑴ Android WebView加载Html时,在Html显示出来之前想要隐藏掉其中某个标签应该怎么做呢
先下来载下来html代码,做下源字符串处理 把不需要的标签删掉,再用webView.loadData()加载
-------------
String summary = "<html><body>You scored <b>192</b> points.</body></html>";
webview.loadData(summary, "text/html", null);
⑵ android textview 怎么转义html标签
Android中的TextView,本身就支持部分的Html格式标签。这其中包括常用的字体大小颜色设置,文本链接等。使用起来也比较方便,只需要使用Html类转换一下即可。比如:
textView.setText(Html.fromHtml(str));
一、实现TextView里的文字有不同颜色
import android.text.Html;
TextView t3 = (TextView) findViewById(R.id.text3);
t3.setText(Html.fromHtml( "<b>text3:</b> Text with a " + "<a href="http://www.google.com">link</a> " +"created in the Java source code using HTML."));
二、TextView显示html文件中的图片
要让TextView解析和显示Html代码。可以使用
Spanned text = Html.fromHtml(source);
tv.setText(text);
来实现,这个用起来简单方便。
但是,怎样让TextView也显示Html中<image>节点的图像呢?
可以看到fromHtml还有另一个重构:
fromHtml(String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)
实现一下ImageGetter就可以让图片显示了:
ImageGetter imgGetter = new Html.ImageGetter() {
@Override
public Drawable getDrawable(String source) {
Drawable drawable = null;
drawable = Drawable.createFromPath(source); // Or fetch it from the URL
// Important
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable
.getIntrinsicHeight());
return drawable;
}
};
⑶ android 怎么用TextView显示HTML的文本内容,包含<iframe>标签的视频内容,望解答
推荐你最好还是老老实实的用WebView
TextView本身不具备解析HTML的功能,非要使用它来显示HTML中的文本内容的专话,就必须自属己手工通过HTMLParser或是正则表达式来对HTML中的内容进行分析,才能读取出你需要显示的信息,这样做太麻烦,而且没有可扩展性,一旦HTML代码中的格式改变,你的代码也要一起改,很不方便。
⑷ 请问如何用android解析html格式的字符串,并显示在一般控件中
可以使用TextView来显示;
TextView t = null;
t.setText(Html.fromHtml("</br>"));
⑸ android 的webview怎么展示后台传来没标签的html字符串
{
@
protectedvoidonCreate(BundlesavEdinstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebViewwv=(WebView)findViewById(R.id.wvHtml);wv.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
htmlData=htmlData.replaceAll("&","");
htmlData=htmlData.replaceAll("quot;",""");
htmlData=htmlData.replaceAll("lt;","<");
htmlData=htmlData.replaceAll("gt;",">");wv.loadDataWithBaseURL(null,htmlData,"text/html","utf-8",null);
}
⑹ android获取的json数据解析出来带有html的代码怎么办
1,先要建制立一个线程获取json数据 2接着解析json数据 3,设置textview 例如:json数据,strjson= {"key": ["a","b"]} JSONObject object = new JSONObject (strjson) JSONArray arr= object.getJSONArray("key") ; String text=arr.getString(0);
⑺ android 开发webview如何加载p标签的html
本人弄的个类似实例以供参考:
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.AdapterView.OnItemSelectedListener;
@("SetJavaScriptEnabled")
public class Onlinedic extends Activity {
private TextView result;
private EditText editText;
private WebView webView;
private String[] url = {"file:///android_asset/cn2en.html","file:///android_asset/en2cn.html",
"file:///android_asset/ge2cn.html","file:///android_asset/cn2ge.html",
"file:///android_asset/en2ge.html","file:///android_asset/ge2en.html"};
private String[] chooseStr={"英","中","德","中","德","英"};
private Handler tHandler = new Handler();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.onlinedic);
webView=(WebView)findViewById(R.id.toutput);
final Button submit=(Button)findViewById(R.id.submit);
editText=(EditText)findViewById(R.id.tinput);
result=(TextView)findViewById(R.id.result);
final Spinner l_select=(Spinner)findViewById(R.id.l_select);
ArrayAdapter adapter=new ArrayAdapter(this,
android.R.layout.simple_spinner_item,chooseStr);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
l_select.setPrompt("请选择翻译的方式");
l_select.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView arg0, View arg1,
int arg2, long arg3) {
if(((TextView)arg1).getText()==chooseStr[0])
webView.loadUrl(url[0]);
if(((TextView)arg1).getText()==chooseStr[1])
webView.loadUrl(url[1]);
if(((TextView)arg1).getText()==chooseStr[2])
webView.loadUrl(url[2]);
if(((TextView)arg1).getText()==chooseStr[3])
webView.loadUrl(url[3]);
if(((TextView)arg1).getText()==chooseStr[4])
webView.loadUrl(url[4]);
if(((TextView)arg1).getText()==chooseStr[5])
webView.loadUrl(url[5]);
}
@Override
public void onNothingSelected(AdapterView arg0) {
webView.loadUrl(url[0]);
}
});
l_select.setAdapter(adapter);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setSaveFormData(false);
webSettings.setSavePassword(false);
webSettings.setSupportZoom(false);
submit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
result.setVisibility(TextView.VISIBLE);
webView.setVisibility(WebView.VISIBLE);
tHandler.post(new Runnable(){
public void run(){
if (editText.getText().toString() != ""){
webView.loadUrl("javascript:translate('"+
editText.getText().toString() + "')");
}
}
});
}
});
}
⑻ android HTML标签问题
"<" 要用⁢ 代替,而">"要用>来代替
⑼ android textview显示富文本支持哪些标签
在TextView类中预定义了一些类似HTML的标签,通过这些标签,可以使TextView控件显示不同的颜色、大小、字体的文字。
<font>:设置颜色和字体
<big>:设置大号字
<small>:设置小号字
<i>:斜体
<b>:粗体
<tt>:等宽字体(Monospace)
<br>:换行(行与行之间没有空行)
<p>:换行(行与行之间的空行)
<a>:链接地址
<img>:插入图像
这些标签虽然和HTML的标签类似,但并不具备HTML标签的全部功能。如<font>标签只支持color和face两个属性。
在使用这些标签时不能将带这些标签的字符串直接赋值到TextView上,而需要使用Html.frmHtml方法将带标签的字符串转换成CharSequence对象,再赋值给TextView。
如果想在显示的文本中将URL、E-mail、电话等特殊内容高亮显示,并在单击时触发相应的动作(如单击电话会直接在拨号界面显示电话号码),可以设置<TextView>标签的android:autoLink属性,该属性可设置的属性值如下:
none:不匹配任何链接(默认) web:匹配Web网址 email:匹配E-mail地址
phone:匹配电话号码 map:匹配映射地址 all:匹配所有的链接
示例:
{
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txtFirst=(TextView)findViewById(R.id.txtFirst);
Stringhtml="<fontcolor='red'>样式一</font><br>";
html+="<fontcolor='#0000FF'><big><i>样式二</i></big><font>";
html+="<fontcolor='@"+android.R.color.white+"'><tt><b><big><u>样式三</u></big></b></tt></font><br>";
html+="<big><ahref='http://blog.csdn.net/a_mean'>我的博客:http://blog.csdn.net/a_mean</a></big>";
CharSequencecharSequence=Html.fromHtml(html);
txtFirst.setText(charSequence);
//该语句在设置后必加,不然没有任何效果
txtFirst.setMovementMethod(LinkMovementMethod.getInstance());
}
}
如图:
⑽ android支持html5 video标签,实现在线播放吗
以实现在线播放的
不过你要调用系统的播放器才可以,你自己看吧 我也被这个整了好久
如下代码:
//html
<video autoplay="autoplay" controls="controls" id="youku-html5-player-video" onclick="playVideo('IP/player/getRealM3U8/vid/XNDE4NjIwOTI0/type//video.m3u8');" preload="" src="IP/player/getRealM3U8/vid/XNDE4NjIwOTI0/type//video.m3u8" width="100%" x-webkit-airplay="allow">
Your browser does not support the video tag.</video>
<script>
function playVideo(video){
window.JSInterface.startVideo(video);
}
</script>
//java
JavaScriptInterface jsInterface = new JavaScriptInterface(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(jsInterface, "JSInterface");
public class JavaScriptInterface {
private Activity activity;
public JavaScriptInterface(Activity activiy) {
this.activity = activiy;
}
public void startVideo(String videoAddress){
//调用播放器(这里看你自己怎么写了)
Bundle bundle = new Bundle();
bundle.putString("path", address);
MyIntent.startIntent(WebViewActivity.this, MyIntent.VIDEO, bundle);
}
}