截取屏幕,包括屏幕外的(RecyclerView或者ScrollView嵌套里面的布局)

查找资料后,找到了这样一段代码(blog出处找不到了 = =,只留下了这段代码)

0156f9eb39d3

截图.png

实现效果

0156f9eb39d3

0156f9eb39d3

Screenshot_2016-02-24-11-25-13.png

然后就实现了这个功能,代码如下

public static Bitmap createBitmap(NestedScrollView v) {

int width = v.getWidth();

int height = 0;

for (int i = 0; i < v.getChildCount(); i++) {

height += v.getChildAt(i).getHeight();

}

Bitmap bitmap = Bitmap.createBitmap(width,height, Bitmap.Config.ARGB_8888);

Canvas canvas = new Canvas(bitmap);

v.draw(canvas);

return bitmap;

}

我的NestedScrollView里面包含一个TextView,然后就会把整个TextView(屏幕内外)存为bitmap,之后是保存还是显示就自己处理吧~

有坑注意

因为里面是TextView,我保存的时候jpg打开是全黑,找了半天才找出来,将TextView的background设置为白色就可以了= = 是因为字体是黑色么 →_→

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐