关于textview展示富文本,随便百度一大堆,今天要说的小坑是加载很长的大图时,部分机型(低端机型)不正常显示问题
原因很简单,因为android
手机在展示图片的时候,会申请内存空间,而大图的大小不是根据图片所占用空间决定的,而是根据图片的宽*高
决定,这种大长图直接这么相乘,肯定会非常大,这就导致了部分机型不能正常显示的问题。
这里只给出一种解决方案,当然还有其他的方法,这里就不做展示了使用webview处理
对后台传递过来的字符串,经过拼接处理,让图片能够匹配手机屏幕宽度,然后显示
String head = "<head><style>* {font-size:17px}{color:#212121;}img{max-width: 100%; width:auto; height: auto;}</style></head>";
String resultStr = "<html>" + head + "<body>" + 字符串 + "</body></html>";
对resultStr进行webview的加载展示,即可
webview.loadDataWithBaseURL(null, resultStr, "text/html", "utf-8", null);
如果对文字有特殊需求,也只需修改 style 样式表即可