0
我试图将视图保存到位图而不等待它呈现。 我要求RecyclerView的渲染,然后做:什么时候画布被填满?
Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Config.ARGB_8888);
View view = activity.findViewById(R.id.my_view);
view.draw(new Canvas(bitmap));
但是,如果我救了位图的时候了,因为在我的观点回收的观点仍然被画我猜这将是空的。 我厌倦了使用ViewTreeObserver
并增加了一个OnGlobalLayoutListener
,但问题仍然存在 - 该回调称为过早。
我怎么能可靠地等待位图/帆布来填充?是否有特定的回调?
PS:没有硬编码延迟允许:)
这是一个测试,我正在不断更新RecyclerView,新孩子在每次迭代中都会保存位图。那么这种方法是否仅仅适用于第一次迭代时Recycler视图还没有绘制完成? –
是的,其他的方法是在onDraw中如果大小= 0,0,如果不打印结果 –