2015-11-12 53 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? –