Android SurfaceView预览相机黑屏问题解决方案

解决方案

1、使用动态添加的方式添加surfaceView

在xml文件中添加FrameLayout

复制代码
<FrameLayout
    android:id="@+id/colorsurface"
    android:layout_width="match_parent"
    android:layout_height="match_parent" /> 

2.创建SurfaceView并添加到FrameLayout上

复制代码
surfaceView = new SurfaceView(this);
screenBinding.colorsurface.addView(surfaceView);

3.最后设置surfaceview两个属性

复制代码
surfaceView.setZOrderMediaOverlay(true);
surfaceView.getHolder().setFormat(PixelFormat.TRANSPARENT);

即可解决surfaceview每次预览都会黑屏一下的问题。

相关推荐
古法安卓1 小时前
Android-深入理解 Android 回调(Callback)机制
android·性能优化·android studio
古法安卓2 小时前
Android-车机 GNSS 定位数据接收问题排查
android·java·android studio
FungLeo4 小时前
Flutter 吸顶分组列表实战:语义桶分组 + 点击头平滑滚动
android·flutter
阿巴斯甜4 小时前
Android 自定义权限
android
FungLeo5 小时前
Flutter 超长 StatefulWidget 拆分术:part of + extension on State 实战
android·flutter·dart
小王C语言6 小时前
MySQL 数据类型:数值类型、字符串类型、日期和时间类型、enum 和 set、find_in_set 查询
android·数据库·mysql
我命由我123456 小时前
Android 控件 - CardView(快速实现圆角)
android·java·java-ee·kotlin·android studio·android-studio·android runtime
码云数智-园园6 小时前
Android 全方位性能优化合集
android·性能优化
hunterandroid7 小时前
[Android 从零到一] Compose 动画实战:从 AnimatedVisibility 到复杂转场与手势联动
android
Knight_AL7 小时前
Lombok @Builder 踩坑:build() 前后对象类型不一样
android·java·开发语言