整个布局Android的化妆截图 [英] android make screenshot of entire layout

查看:259
本文介绍了整个布局Android的化妆截图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我做的截图,并使用下一个方法返回一个位图。

I am doing screenshot and returning a bitmap using the next method.

 public Bitmap takeScreenShot(View view) {
        view.setDrawingCacheEnabled(true);
        view.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_LOW);
        view.buildDrawingCache();
        if (view.getDrawingCache() == null) return null;
        Bitmap snapshot = Bitmap.createBitmap(view.getDrawingCache());
        view.setDrawingCacheEnabled(false);
        view.destroyDrawingCache();
        return snapshot;
    }

和我叫它像这样

takeScreenShot(getWindow().getDecorView().findViewById(android.R.id.content))

我的问题是,我有一些布局包含列表视图/ GridView的,我怎么能截图整个布局扩展?

My problem is that i have some layout that contain listviews/gridviews , how can i screenshot the entire layout extended ?

推荐答案

试试这个code:

public static Bitmap getBitmapFromView(View v, int width, int height) {
    Bitmap b = Bitmap.createBitmap(width , height, Bitmap.Config.ARGB_8888);                
    Canvas c = new Canvas(b);
    v.layout(0, 0, v.getLayoutParams().width, v.getLayoutParams().height);
    v.draw(c);
    return b;
}

编辑:

Bitmap bitmap = Bitmap.createBitmap(scrollView.getChildAt(0).getWidth(), scrollView.getChildAt(0).getHeight(), Bitmap.Config.ARGB_8888);

这篇关于整个布局Android的化妆截图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆