如何使SurfaceView透明并位于ViewHierarchy后面



最近,我使用SurfaceView创建了一个复杂的视图,我认为它很复杂。我发现SurfaceView的背景是黑色的,并使用SurfaceView.setZOrderOnTop((将其背景更改为透明。但还有一个问题是SurfaceView不在视图层次结构后面。我的目的是使surfaceview变得透明,并在视图层次结构后面,有什么解决方案吗?对不起我英语不好!

像这样的一些xml布局代码

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SurfaceViewActivity">
<com.example.testproject.customview.AnimationView
android:id="@+id/animationview"
android:layout_width="400dp"
android:layout_height="400dp"
android:layout_gravity="center"
android:background="@android:color/transparent"
/>
<ImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:background="@null"
android:layout_gravity="center"
android:visibility="visible"
android:src="@drawable/ic_launcher_foreground"
/>
</FrameLayout>

"AnimationView"扩展了SurfaceView

我觉得我的开始方向错了,因为android.view.view硬件加速器默认是打开的,而且我把代码从SurfaceView移到了android.vview.view来测试性能,我发现性能已经足够了!总之,我没有找到解决这个问题的方法,而是改变了解决这个问题。

最新更新