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); }![]()

2527

被折叠的 条评论
为什么被折叠?



