android - 启用滚动时调用 `getDrawingCache` 返回 null

标签 android view drawingcache

此代码中缺少什么?同样的代码适用于 ICS。在 API 8 上,滚动出现并且一些内容从屏幕上消失。这种情况下如何获取绘图缓存?

代码:

TableLayout page = (TableLayout) findViewById(R.id.page);
page.setDrawingCacheEnabled(true);
page.buildDrawingCache();

// getDrawingCache returns null...
Bitmap pageBmp = Bitmap.createBitmap(page.getDrawingCache(true));
page.destroyDrawingCache();
page.setDrawingCacheEnabled(false);

最佳答案

我解决了。创建了 View 大小的位图并将 View 绘制到其中。

TableLayout page = (TableLayout) findViewById(R.id.page);
Bitmap pageBmp = Bitmap.createBitmap(page.getWidth(), page.getHeight(), 
                                       Config.ARGB_8888);
Canvas canvas = new Canvas(pageBmp);
page.draw(canvas);

使用了 pageBmp 位图..

关于android - 启用滚动时调用 `getDrawingCache` 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11560882/

相关文章:

javascript - CouchDB View 出错

c# - 处理 WPF 应用程序中多个 View 之间的导航

android - edittext.getdrawing 缓存不工作.Android

Android - 复选框文本上的阴影 - xml

android - 没有 OpKernel Tensorflow Mobile Android。如何调试?

android - 在输入流中解码\u0000 Unicode 的更优雅方式

android - 如何在Android中为布局设置固定纵横比

java - 为什么我不能从 android.view 继承 protected 字段?

android - ScrollView 中的 WebView : "View too large to fit into drawing cache" - how to rework layout?