Android:如何制作圆形相机预览?

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

伦敦图像用按钮和视图代表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作为椭圆形xml设置为SurfaceView时,它也不起作用:

<?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并使用它,我应该重写什么?

解决方法

嗯,我认为最简单的方法是在SurfaceView上放置一个imageView
示例来自xml:
<RelativeLayout ....>
  <SurfaceView ... />
  <ImageView ... />
</RelativeLayout>

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...