在启用滚动时调用`getDrawingCache`将返回null

这段代码中缺less什么? 这个相同的代码适用于ICS。 在API 8上滚动出现,一些内容不在屏幕上。 在这种情况下如何获得graphicscaching?

码:

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); 

我解决了它。 创build一个视图大小的位图,并绘制到它的视图。

 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位图..