2015-11-12 92 views
-2

我有一個自定義ViewGroup(作爲一個根視圖)與其他一些視圖,我想對其一部分視覺效果,影響其子。Android:後期處理繪製視圖

根視圖沒有背景因此drawonDraw從來沒有被調用過。

正如pskink所指出的,我可以在我的自定義ViewGroup的dispatchDraw中做到這一點。當我爲了測試而在dispatchDraw獲得的Canvas上繪製一個圓時,它就會出現。但我無法訪問Canvas內容,即使private Bitmap mBitmapnull

  • 如何獲取(並修改)像素?
  • 系統如何利用Canvas沒有Bitmap
+1

查看'ViewGroup#dispatchDraw'方法 – pskink

回答

1
  1. 根RelativeLayout的混合疊加和列表
  2. 只是覆蓋在根RelativeLayout的繪製方法,並創建 位圖,然後使用它創建一個Canvas對象,該調用與您的畫布超級 抽籤方法對象,你會得到從位圖的疊加 和列表繪製的內容,那麼你可以通過 你的自我
  3. 從本地代碼繪製,從ViewRootImpl通過在視圖樹中的所有意見,如果你的硬件accuserate轉on,畫布對象是GLES的實例20RecordingCanvas
+0

唐,感謝您的反饋。 1.當然。但是,最有可能的是,它在dispatchDraw方法中執行,正如** pskink **所述。 2. * root *的'draw'和'onDraw'都不會被調用。 3.你的意思是我需要使用NDK? –