android view bitmap

来源:互联网 发布:西安行知驾校 编辑:程序博客网 时间:2024/06/06 03:29
Bitmap drawingCache = view.getDrawingCache(false);


通过上面的方法总是返回null,设置完

view.setDrawingCacheEnabled(true);
还是同样的效果,最后查看源码,发现是view的尺寸太大了

我这里通过反射改变配置参数 我随便设置了一个80,你可以自己设置大一点

返回的bitmap大小是view的实际尺寸

public void show(View view) {    ViewConfiguration viewConfiguration = ViewConfiguration.get(this);    try {        Field mMaximumDrawingCacheSize = viewConfiguration.getClass().getDeclaredField("mMaximumDrawingCacheSize");        mMaximumDrawingCacheSize.setAccessible(true);        mMaximumDrawingCacheSize.set(viewConfiguration, 1080 * 1920 * 80);    } catch (Exception e) {        e.printStackTrace();    }    view.setDrawingCacheEnabled(true);    Bitmap drawingCache = view.getDrawingCache(false);    mImageView.setImageBitmap(drawingCache);}

0 0
原创粉丝点击