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);
}
}