gpt4 book ai didi

Android:如何制作圆形的Camera Preview?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:15:58 41 4
gpt4 key购买 nike

如何创建这样的圆形/椭圆形或圆角相机预览(中间的圆应该是相机预览)?

enter image description here

伦敦图像代表带有按钮和 View 的其余 UI,因此它必须是可见的,这就是为什么我不能使用像添加 android:background 这样的解决方案作为具有如下半径的形状矩形:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF"/>
<stroke android:width="3dip" android:color="#B1BCBE" />
<corners android:radius="50dip"/>
<padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
</shape>

当我尝试将 android:background 设置为 SurfaceView 的椭圆形 xml 时,它也不起作用:

<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">

<size
android:width="120dp"
android:height="120dp"/>

<stroke
android:color="#FF000000"
android:width="2dp" />
</shape>

如果有可能以某种方式扩展 SurfaceView 并使用它,请问我应该重写什么?

最佳答案

您可以像这样使用 CardView 来容纳您的 textureView 或 surfaceArea。

<androidx.cardview.widget.CardView
android:id="@+id/cameraWrapper"
android:layout_width="300dp"
android:layout_height="300dp"
app:cardCornerRadius="360dp"
android:foreground="@drawable/background_camera_overlay_circle_inactive"
app:cardElevation="0dp"
android:padding="-20dp">

<com.mobile.myapp.CustomViews.CameraSourcePreview //you can use SurfaceView, TextView, ImageView
android:id="@+id/preview"
android:layout_width="400dp"
android:layout_height="400dp"/></androidx.cardview.widget.CardView>

需要注意的关键事项。

  • cornerRadius 设置为 360 以使 CardView 具有圆形
  • cardElevation 设置为零以移除高度,从而使 CardView 变平
  • padding 设置为负值,以便 subview 很好地隐藏
  • subview 的
  • layout_widthlayout_height 值大于 cardView 的值。
  • CardView 有一个 foreground 属性,该属性已设置为可绘制文件 background_camera_overlay_circle,它只是绘制圆形边框

background_camera_overlay_circle的内容

<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="oval" xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="5dp" android:color="@color/colorRed_FB7B7B"/>
</shape>

试一试。

关于Android:如何制作圆形的Camera Preview?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29125142/

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