android - 不能将 GLSurfaceView 放在 SurfaceView 上吗?

标签 android

我的理解是你不能在 Android 中叠加两个表面 View ,基于这个讨论:

https://groups.google.com/forum/?fromgroups=#!topic/android-developers/COffLpanlz0

进一步证明这不起作用:GLSurfaceView/SurfaceView overlap

但是我想知道这里是否有解决方法?或者,如果 Android 4.1 改变了这一点?

谷歌框架工程师的唯一建议如下所示:有谁知道这将如何完成?或者是否有任何其他方法可以实现此目的?

"这可能不是最好的方法,但现在您根本无法在一个窗口中拥有多个重叠的表面 View ,因此实现此目的的唯一方法是在主窗口中渲染叠加层。仅供引用,使用单独的线程postInvalidate() 是不需要的额外工作,只需从主线程调用 invalidate() 即可。您需要确保至少 View 层次结构中涉及绘制叠加层的部分尽可能简单(不深,也没有很多 View 需要迭代)以尽可能减少开销。” - 显示引用的文字 - hac...@android.com

最佳答案

对于 Android 4.0 及更高版本,您应该改用 TextureView。您可以将任意数量的 TextureView 堆叠在一起。您还可以为它们设置动画等。

关于android - 不能将 GLSurfaceView 放在 SurfaceView 上吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12556516/

相关文章:

android - viewpager 屏幕向右或向左滑动?

java - 如何将 firebase 数据 (snake_case) 转换为 Java 对象 (camelCase)

android - 使用 Bullet 将球置于球体内

java - 在 Android Q 的锁定屏幕上收到 fcm 通知后开始 Activity

java - 用于过滤自定义 ListView 元素的搜索过滤器

android - 尝试在 android studio 中使用类 HttpsURLConnection,收到一条错误消息,提示无法解析符号 HttpsURLConnection

java - Android HTTPUrlConnection 响应返回垃圾

android - EditText 改变样式

android - 在android的主线程中等待

android - 克隆 git 仓库