Android:后期处理绘制的视图

时间:2015-11-12 18:55:59

标签: android android-layout render

我有一个自定义ViewGroup(作为根视图)和其他一些视图,我想对它的一部分产生视觉效果,影响它的孩子。

根视图没有背景,因此drawonDraw从未被调用过。

正如 pskink 所述,我可以在我的自定义ViewGroup dispatchDraw中执行此操作。当我,仅用于测试时,在由Canvas获得的dispatchDraw上绘制一个圆圈,它就会出现。但我无法访问Canvas内容,即使private Bitmap mBitmapnull

  • 如何获取(和修改)像素?
  • 系统如何在没有Canvas的{​​{1}}上绘制?

1 个答案:

答案 0 :(得分:1)

  1. root RelativeLayout混合叠加层和列表
  2. 只需覆盖根RelativeLayout绘制方法,然后创建你的 然后用Bitmap创建一个Canvas对象,调用super 用画布对象绘制方法,你将得到你的叠加层 并列出位图中绘制的内容,然后您可以通过它绘制 你的自我
  3. 从本机代码,从ViewRootImpl传递到视图树中的所有视图,如果您的硬件控件打开,则canvas对象是GLES20RecordingCanvas的实例