textview 加载 html 代码 图文混排例子
2017-01-17 19:50
369 查看
注意的地方,必须增加 严苛模式
并且之前调用
并且之前调用
package com.dream.will.a12_4myview.ui; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.StrictMode; import android.support.v7.app.AppCompatActivity; import android.text.Html; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.method.LinkMovementMethod; import android.text.method.ScrollingMovementMethod; import android.text.style.ImageSpan; import android.widget.TextView; import com.dream.will.a12_4myview.R; import java.net.URL; public class MainActivity extends AppCompatActivity { private int width; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); struct(); setContentView(R.layout.activity_main); width = getResources().getDisplayMetrics().widthPixels; TextView tv = (TextView) findViewById(R.id.txt); String content = "<p><img src=\"https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1476000277&di=816a9e199d176952c1fdc075e27207c4&src=http://www.pp3.cn/uploads/201609/201609105.jpg\"/></p><p> 主席: 五月二十日,我找了周总理谈说是可靠的)实行不<span class='word-tag' onclick='newshotword(\\\"逮捕\\\")'>逮捕</span>、不关押、不杀、不撤职等“四不”,如果他们某个成员有错误,可经过党内思想批评来解决,他们有病,可找人代替工 作,如果病故,则提升其他人接替。对于久病要求退休者,则按退休干部处理。“一要”就是遇特殊情况,要执行主席面授的机动指示。</p><p>强龙历史网:</p><p> 林彪叛逃前写给毛泽东一封信曝光 内容惊人【图】林彪与<span class='word-tag' onclick='newshotwor 4000 d(\\\"毛主席\\\")'>毛主席</span>相谈甚欢</p><p> 第三,为保证首都安全,首都附近的三个人造山,建议由华东、华北、山东各派一个独立营来担任固守。</p><p> 第四,建议将三十八军调离华北。这个部队虽然是很好的部队,但放在首都附近不甚适宜,以调往别处,换一个原二野、三野或一野的军来,接替他们的任务为宜。</p><p> 我的以上想法,是看了这次批陈整风会议文件,有的同志在担心着安全问题。他们的心情是忧虑的,因而是值得重视和深思的。我想,为了防止万一发生事故起见,所以想到以上的做法,但这些方法必然是不完备或甚至是不正确的,特报告主席,请主席考虑交总理遵办。</p><p><img src=\"http://www.chnlung.cn/uploads/allimg/160422/1-1604220QGVI.jpg\"/></p>"; tv.setMovementMethod(ScrollingMovementMethod.getInstance());// 设置可滚动 tv.setMovementMethod(LinkMovementMethod.getInstance());// 设置超链接可以打开网页 tv.setText(Html.fromHtml(content, imgGetter,null)); } private void startImg(SpannableStringBuilder text, String src, Html.ImageGetter img) { Drawable d = null; if (img != null) { d = img.getDrawable(src); } if (d == null) { d = getResources().getDrawable(R.mipmap.ic_launcher); d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); } int len = text.length(); text.append("\uFFFC"); text.setSpan(new ImageSpan(d, src), len, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); } // 这里面的resource就是fromhtml函数的第一个参数里面的含有的url Html.ImageGetter imgGetter = new Html.ImageGetter() { public Drawable getDrawable(String source) { Drawable drawable = null; URL url; try { url = new URL(source); drawable = Drawable.createFromStream(url.openStream(), ""); // 获取网路图片 } catch (Exception e) { e.printStackTrace(); return null; } // 限制图片在TextView中的边界大小 drawable.setBounds( 0, 0, width, width * drawable.getIntrinsicHeight() / drawable.getIntrinsicWidth()); return drawable; } }; // 严苛模式 public static void struct() { StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads().detectDiskWrites().detectNetwork() // or // .detectAll() // for // all // detectable // problems .penaltyLog().build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectLeakedSqlLiteObjects() // 探测SQLite数据库操作 .penaltyLog() // 打印logcat .penaltyDeath().build()); } }
相关文章推荐
- Android开发技巧——TextView加载HTML的图片及代码显示问题
- 自定义控件之textview加载html图文混排
- TextView加载html代码显示图片,并且支持图片放大功能
- Android TextView加载Html图文混排
- Android开发技巧——TextView加载HTML的图片及代码显示问题
- TextView异步加载HTML格式数据中的图片(解决4.0以上主线程加载失败)
- Html.ImageGetter() textview加载图片 出现[obj]的问题
- html代码设置textview字体颜色
- android textView 加载HTML 异步加载网络图片
- Textview显示Html,图文混排,支持图片点击放大
- Android中WebView载入本地HTML代码并实现Java与JavaScript交互的例子
- 加载html页面到textview
- android TextView加载html内容并加载图片
- 关于webView加载html代码 图片拦截修改
- webview加载html代码,其中代码中有图片
- TextView 代码加载上下左右drawable
- TextView 加载Html格式字符串
- Android中的TextView深入学习之加载HTML显示
- Android TextView 显示HTML代码以及代码中的图片标签
- android TextView加载html内容并加载图片