改变 html 代码块 的字体大小

本文介绍了一种在富文本中动态调整字体大小的方法,并解决了Webview高度自适应的问题。通过修改后台数据中的font-size属性,实现了字体大小的更改。同时,通过设置Webview的布局参数,确保了Webview能够根据内容变化自适应高度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

副文本字体大小


今天一个需求,来改变富文本中的字体大小,我的思路是,拿到后台数据,更改 font-size 的值大小,话不多说,看代码…

//修改字体大小
    private String subRangeString(String body, String str1, String str2, int size) {
        int index1 = body.indexOf(str1);
        if (index1 != -1) {
            int index2 = body.indexOf(str2, index1);
            if (index2 != -1) {
                //                    Log.e("Tag", "下标1为:" + index1 + "  下标2为:" + index2);
                //                    String str3 = body.substring(0, index1) + body.substring(index2 + str2.length(), body.length());
                body = body.replaceAll(body.substring(index1, index2), "font-size:" + size);
                //                    Log.e("Tag", "str3为:" + str3);
                return body;
            } else {
                return body;
            }
        } else {
            return body;
        }
    }

问题一:字体大小改变后,webview 的高度没有重新绘制问题。。

mWebView.setWebViewClient(new WebViewClient() {

            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                ViewGroup.LayoutParams layoutParams = mWebView.getLayoutParams();
                layoutParams.height = 0;
                mWebView.setLayoutParams(layoutParams);
            }

            @Override
            public void onPageFinished(WebView view, String url) {
                ViewGroup.LayoutParams layoutParams = mWebView.getLayoutParams();
                layoutParams.height = WebView.LayoutParams.WRAP_CONTENT;
                mWebView.setLayoutParams(layoutParams);
            }
        });

这样 webview 就可以根据自身的变化来自适应自身的高度了。。

如果对你有所帮助,点个赞,留下你的脚印吧。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值