Android页面View截图(分享、保存相册)

Android View 截屏上下拼接 

Android View截屏长图拼接(NestedScrollView)

方法一:通过系统方法获取图片Bitmap实现分享(Deprecated)

    @Deprecated
    public static Bitmap loadBitmapFromView(View view) {
        Bitmap drawingCache;
        if (true){
            view.setDrawingCacheEnabled(true);
            drawingCache = view.getDrawingCache();
        }else {
            view.buildDrawingCache();
            drawingCache = view.getDrawingCache();
        }
        return drawingCache;
    }

通过查看系统getDrawingCache()方法,发现此方法标记过时,而且getDrawingCache()可能获取Bitmap对象为空,所以我们推荐采用方法二方式来获取View的Bitmap。

Android页面View截图(分享、保存相册)_第1张图片

方法二:通过Canvas来获取View的Bitmap

  public static Bitmap loadBitmapFromViewByCanvas(View view) {
        int w = view.getWidth();
        int h = view.getHeight();
        Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.RGB_565);
        Canvas c = new Canvas(bitmap);
        //如果不设置canvas画布为白色,则生成透明
        c.drawColor(Color.WHITE);
        view.layout(0, 0, w, h);
        view.draw(c);
        return bitmap;
    }

你可能感兴趣的:(View,android)