如何在Web视图中拍摄地图的屏幕截图

时间:2017-02-01 12:16:48

标签: android google-maps webview bitmap screenshot

我从视图中获得了地图的屏幕截图,地图显示正常,但在屏幕截图中标记未显示

RelativeLayout rlShare; 
rlShare.setDrawingCacheEnabled(true);
rlShare.buildDrawingCache(true);
Bitmap b = rlShare.getDrawingCache();

2 个答案:

答案 0 :(得分:2)

这是因为您的WebView正在进行硬件加速,并且正在硬件级别上绘制标记。

您可以使用View.LAYER_TYPE_SOFTWARE指定视图具有软件层:

yourWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

答案 1 :(得分:0)

您可以使用此代码获取视图的屏幕截图

  public Bitmap screenShot(View view) {
        Bitmap bitmap = Bitmap.createBitmap(view.getWidth(),
                view.getHeight(), Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);
        view.draw(canvas);
        return bitmap;
    }