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,如果不打印結果 –