美文网首页
Android Textview富文本--Html

Android Textview富文本--Html

作者: 逃离_102 | 来源:发表于2022-07-27 08:54 被阅读0次

    说明

    Android开发过程中,对TextView操作是无时不刻的操作,Textview富文本有时可以给我们很丰富的展示效果。Android中提供了Html工具类,提供了HTML到Android原生的转换功能。其实原理还是解析Html然后在转成SpannableString再给TextView显示,下面就来简单记录一下其用法。

    用法示例1

    用法很简单,直接用Html工具转换就行

    binding.tx2.text = Html.fromHtml("<font color='#2698b3'>从前</font>有座山")
    

    用法示例2

    可以加载图片等类型

    val htmlContent = "<p><font size=\"3\" color=\"red\">先帝创业未半而中道崩殂</font></p>" +
                    "<b><font size=\"5\" color=\"blue\">今天下三分</font></font></b></br>" +
                    "<h1>益州疲弊,此诚危急存亡之秋也</h1></br>" +
                    "</p><img src=\"http://n.sinaimg.cn/sinacn/w450h212/20171223/16c3-fypvuqf3150782.jpg\""
    
            Thread {
                val mSpanned = Html.fromHtml(htmlContent, { source ->
                    var drawable: Drawable? = null
                    try {
                        var bitmap = Glide.with(this).load(source).asBitmap().into(200,200).get()
                        drawable = bitmap.toDrawable(resources)
                        drawable.setBounds(0, 0, 200, 200);//设置图片显示范围
                    } catch (e: IOException) {
                        e.printStackTrace()
                    }
                    drawable!!
                }, null)
                runOnUiThread { binding.tx2.text =mSpanned }
            }.start()
    

    总结

    这种方式用得其实不多,但对一下css高手来说也是很有用的。当然还可以用这个工具反向生成xml,这个对需要储存样式来说,还是有些用的,这个就不仔细说了,感兴趣的同学可以自行验证一下。

    就说到这了,有什么不对的地方,欢迎指正,有什么没说全的,欢迎讨论留言

    相关文章

      网友评论

          本文标题:Android Textview富文本--Html

          本文链接:https://www.haomeiwen.com/subject/sitnirtx.html