关于WebView因图片太大导致出现横向滚动条问题

有时候用webView 后台返回的图片太大了 导致出现了横向滚动条 影响美观 找了很久找到了一个方法 给图片设置样式

<style>img{max-width:360px !important;}</style>

这样就可以让图片不会太大了


下面给个全部的代码
public static void setUpWebView(WebView wv_detail, String content) throws UnsupportedEncodingException {
    String text = URLDecoder.decode(content,"UTF-8");
    //**************处理web页面**********************
    String str1 = "<!DOCTYPE html>\n" +
            "<html>\n" +
            "\t<head>\n" +
            "\t\t<meta charset=\"utf-8\">\n" + "<style>img{max-width:360px !important;}</style>" +
            "\t\t<meta name=\"viewport\" content=\"width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1, user-scalable=no\"></head><body>\n";
    String str2 = "</body><html>";
    wv_detail.getSettings().setDefaultTextEncodingName("UTF -8");
    WebSettings settings = wv_detail.getSettings();
    settings.setUseWideViewPort(true);
    settings.setLoadWithOverviewMode(true);
    //控制webView不要出现横向滚动条
    settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
    wv_detail.setVerticalScrollBarEnabled(false);
    wv_detail.setVerticalScrollbarOverlay(false);
    wv_detail.setHorizontalScrollBarEnabled(false);
    wv_detail.setHorizontalScrollbarOverlay(false);
    if (!TextUtils.isEmpty(text)){
        wv_detail.loadDataWithBaseURL("A", str1 + text + str2, "text/html",
                "UTF-8", null);
        wv_detail.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return super.shouldOverrideUrlLoading(view, url);
            }
        });
    }
    wv_detail.setWebViewClient(new WebViewClient(){
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return true;
        }
    });
}




这样再把你的内容放进去就可以让图片不会超出屏幕宽度了


另外  因为项目中的详情还有其他的内容 所以自己自定义了个webView 一起贴上

public class TouchWebView extends WebView {
    public TouchWebView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    public TouchWebView(Context context) {
        super(context);
    }
    /*@Override
    public boolean onTouchEvent(MotionEvent event){
        requestDisallowInterceptTouchEvent(true);
        return super.onTouchEvent(event);
    }*/

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
                MeasureSpec.AT_MOST);
//        WindowManager wm = (WindowManager) getContext()
//
//                .getSystemService(Context.WINDOW_SERVICE);
//        int width = wm.getDefaultDisplay().getWidth();
//        super.onMeasure(width, expandSpec);
        super.onMeasure(widthMeasureSpec, expandSpec);
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值