我有一个位图,我想从这个位图裁剪一个圆形区域.圆圈外的所有像素都应该是透明的.我怎样才能做到这一点?

我试图在android中创建一个圆角边的视图.到目前为止我找到的解决方案是定义一个带圆角的形状,并将其用作该视图的背景.
这就是我所做的,定义一个drawable,如下所示
<padding
android:top="2dp"
android:bottom="2dp"/>
<corners android:bottomRightRadius="20dp"
android:bottomLeftRadius="20dp"
android:topLeftRadius="20dp"
android:topRightRadius="20dp"/>
Run Code Online (Sandbox Code Playgroud)
现在我用它作为我的布局的背景如下
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:clipChildren="true"
android:background="@drawable/rounded_corner">
Run Code Online (Sandbox Code Playgroud)
这很好用,我可以看到视图有圆角.
但我的布局中有许多其他子视图说一个ImageView或一个MapView.当我在上面的布局中放置一个ImageView时,图像的角不会被剪裁/裁剪,而是显示为满.
我已经看到了其他解决方法,使它像这里解释的那样工作.
但有没有一种方法可以为视图设置圆角,并且所有子视图都包含在具有圆角的主视图中?
谢谢.
我发现自己需要帮助。
我正在尝试开发这个简单的拍照应用程序(哇,现在是原创!)。一切安好。我唯一需要的是有一个圆形相机预览。
我将我的 camerapreview 类(它扩展了surfaceview)放置在一个框架布局中,这基本上是我的相机预览。众所周知,这是一个矩形。由于我对该应用程序有更大的计划,因此我需要圆形的相机预览(例如,有人可以拍摄某人的脸部照片,而我可以在周围画一些图画......)。
现在,我不知道如何继续。我尝试了不同的方法,使用 xml 创建一个形状并将其设置为我的框架布局的背景,但这不起作用。
在谷歌上花了几个小时寻找解决方案后,我决定我不得不放弃并来到这里。
所以请,如果有人知道任何事情,请告诉我们:) 我希望我足够清楚,如果需要,请不要犹豫,要求澄清。