如何在视图范围之外绘制(位图,线等)?从视图的onDraw()开始,我读过这个是不可能的,因为绘制的所有内容都会被剪切到视图的边界。
我确实提出了一个解决方案,但我希望有一个更好的解决方案。什么工作是创建一个位于z顺序顶部的透明视图,并包括我想要绘制的区域(整个应用程序客户区)。然后,每当我想在一些子视图外面绘制时,我可以简单地将坐标转换为透明视图并在那里绘制。
我还读到了关于SurfaceView希望能够做到我想要的东西。但我认为它的主要目的是在一个单独的主题中提供绘图,并没有解决我正在讨论的问题。
要清楚,仅仅绘制目标视图的父级是不够的,因为父级中的其他视图将在z顺序中更高并隐藏绘图。
直觉告诉我,有正确的方法"去做这个。有人知道吗?
答案 0 :(得分:2)
我得出的结论是,正确的方法是按照我的建议行事 - 创建一个透明视图,该视图位于您需要绘制的空间的z顺序的顶部。
在了解导航抽屉绘图的工作原理后,我得出了这个结论 - 正是以这种方式。因此,如果谷歌使用这种技术,我会得出结论,这是最好的方式。