Android 利用控件显示HTML样式

Android 利用控件显示HTML样式

android显示HTML样式的方法很多,此处介绍两种很简单的方法:TextView和WebView

方法一、利用TextView或者GiftTextView直接显示

这种方法优点是简单,直接设置即可,但缺点就是对样式兼容性不高,对应某些复杂的样式会显示不正确。所以此类方法只适用于显示几行简单的样式的需求,并且当有图片时还需要额外去处理图片。

CharSequence charSequence;
    String url1="http://ww.baidu.com";
    String str = "<font color='#0099cc'> <a href=\""+url1+"\">"+url1+"</a></font>";
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
   
        charSequence = Html.fromHtml(str,Html.FROM_HTML_MODE_LEGACY);
    } else {
   
        charSequence = Html.fromHtml(str);
    }
    holder.text_left.setText(charSequence);

方法二、利用WebView控件去显示样式

此方法能适用于显示复杂的样式,如显示HTML页面等等,并且自带图片处理不用额外的去处理图片。

首先,我们在layout布局中放入WebView标签,但需要注意的是WebView的父标签的宽高必须是match_parent,具体如图:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <WebView
        android:layout_marginTop="10dp"
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </WebView>
</LinearLayout>
然后在使用的时候声明WebView
WebSettings webSettings = holder.webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setBlockNetworkImage(false);
//webSettings.setBuiltInZoomControls(true);
//webSettings.setSupportZoom(true);
webSettings.setUseWideViewPort(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setAllowFileAccess(true);
webSettings.setSupportMultipleWindows(true);
webSettings.setDomStorageEnabled(true);
webSettings.setDefaultFontSize(30); //设置显示字体的大小
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
   
    webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
//控制webview不可点击
hol
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值