gpt4 book ai didi

android - 在透明 SurfaceView 之上添加 View ?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:47:50 26 4
gpt4 key购买 nike

This answer描述了如何制作具有透明背景的 SurfaceView

但是,它需要在 SurfaceView 上调用 setZOrderOnTop(true),这毫不奇怪地将 SurfaceView 置于其他 View 之上。

这不是我想要的。给定 ViewACSurfaceView B 我想订购B 后面的 A View C 后面。

如果 B 不是具有透明背景的 SurfaceView 这将是:

<RelativeLayout>
<ViewA>
<ViewB>
<ViewC>
</RelativeLayout>

B 是具有透明背景的 SurfaceView 时,是否可以实现此目的?

最佳答案

当前的 SurfaceView API 有四个可能的图层。从上到下:

  • 设置ZOrderOnTop
  • (观看次数)
  • 设置ZOrderMediaOverlay
  • 默认

SurfaceView 表面以及具有所有 View 的表面由系统合成器合成。您不能按 Z 顺序将 SurfaceView 表面夹在两个 View 之间。 (如果您需要完整的详细信息,请阅读 this article。另请参阅 Grafika 中的多表面测试 Activity ,该 Activity 软件呈现为三个重叠的透明 SurfaceView。)

您可能想要做的是使用 TextureView (API 14+),它具有许多相同的属性,但与 View 完全交互。如果您使用 Canvas 在 SurfaceView 上绘图,您可以使用自定义 View ,它具有 hardware accelerated 的额外优势。渲染。

关于android - 在透明 SurfaceView 之上添加 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25983784/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com