Android webview设置的宽度不超过屏幕宽度

时间:2017-01-17 10:18:14

标签: android webview bitmap

我有一个匹配父布局layout_width和layout_height的网页视图,我需要将网页视图绘制成位图图像并打印图像。 关键是webview的宽度不是以编程方式进行的,我试着像这样改变它

    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
                    600, 600);
            params.height = paymentp.getAmount().size() * 80 + 180 + 500;// 180
                                                                            // header
                                                                            // w
                                                                            // majmou3,500
                                                                            // for
                                                                            // title
            params.width = 600;
            wvReport.getSettings().setLoadWithOverviewMode(true);
            wvReport.getSettings().setUseWideViewPort(true);
            wvReport.getSettings().setUseWideViewPort(true);
            wvReport.getSettings().setLoadWithOverviewMode(true);
            wvReport.setLayoutParams(params);

但是当我使用getHeight和width创建带有此webview的位图时,宽度总是取屏幕大小(480),而不是更多。 我需要使webview宽度超过屏幕宽度

这里我是如何使用webview创建位图的

Bitmap bitmap = Bitmap.createBitmap(
                    WebView[0].getWidth() ,
                    WebView[0].getHeight() , Config.ARGB_8888);
            Canvas canvas = new Canvas(bitmap);
            WebView[0].draw(canvas);

1 个答案:

答案 0 :(得分:0)

你应该采用webview的高度和宽度,如下面的代码

webview.measure(0,0);
height = webview.getMeasuredHeight();
width  = webview.getMeasuredWidth();