RippleDrawable 如何绘制外部视图边界
How do RippleDrawable draw outside view bounds
创建一个ripple.xml
将可绘制对象设置为 ImageView
我发现圆圈是在电流外画的ImageView
这是如何工作的
最简单的方法 - 将 ImageView 放在更大的布局中,然后将波纹应用于布局。
原因是硬件加速,参见RippleDrawable
中的函数isProjected()
。
如果isProjected()
return true
, DislayList
将保持此 RenderNode
(参见 http://androidxref.com/7.1.1_r6/xref/frameworks/base/libs/hwui/DisplayListCanvas.cpp#addRenderNodeOp)
创建一个ripple.xml
将可绘制对象设置为
ImageView
我发现圆圈是在电流外画的ImageView
这是如何工作的
最简单的方法 - 将 ImageView 放在更大的布局中,然后将波纹应用于布局。
原因是硬件加速,参见RippleDrawable
中的函数isProjected()
。
如果isProjected()
return true
, DislayList
将保持此 RenderNode
(参见 http://androidxref.com/7.1.1_r6/xref/frameworks/base/libs/hwui/DisplayListCanvas.cpp#addRenderNodeOp)