iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android自定义相机界面的实现代码
  • 749
分享到

Android自定义相机界面的实现代码

界面相机Android 2022-06-06 05:06:05 749人浏览 薄情痞子
摘要

我们先实现拍照按钮的圆形效果哈,Android开发中,当然可以找美工人员设计图片,然后直接拿进来,不过我们可以自己写代码实现这个效果哈,最常用的的是用layout-list实现

我们先实现拍照按钮的圆形效果哈,Android开发中,当然可以找美工人员设计图片,然后直接拿进来,不过我们可以自己写代码实现这个效果哈,最常用的的是用layout-list实现图片的叠加,我们这个layout命名为btn_take_photo.xml,这是一个自定义的drawable文件,所以按照规范,我们要将它放在drawable文件夹里。

注意:drawable文件夹一般是来放自定义的drawable文件的,可以将它看成自己写的背景样式等等哦

解释代码:

layer-list里面放3个item,先实现一个白色背景的椭圆,属性android:shape="oval"是实现椭圆的
android:shape=["rectangle" | "oval" | "line" | "ring"]
 shape的形状,默认为矩形,可以设置为矩形(rectangle)、椭圆形(oval)、线性形状(line)、环形(ring)
然后再放入一个item,这个item是一个左右上下都等长的椭圆
ok,这样一个等边的椭圆就做好了

接着再次放入一个一个蓝色背景的椭圆


<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="Http://schemas.android.com/apk/res/android"> 
 <item> 
  <shape android:shape="oval"> 
   <solid android:color="@color/white" /> 
  </shape> 
 </item> 
 <item 
  android:bottom="6dp" 
  android:left="6dp" 
  android:right="6dp" 
  android:top="6dp"> 
  <shape android:shape="oval"> 
   <solid android:color="@color/blue" /> 
  </shape> 
 </item> 
 <item> 
  <shape android:shape="oval"> 
   <stroke 
    android:width="1dp" 
    android:color="@color/blue" 
    android:dashWidth="0dp" /> 
  </shape> 
 </item> 
</layer-list> 

这是一个界面:activity_take_photo.xml
界面的很简单,这里只是提供参考学习的,解释代码:
SurfaceView是用来拍照用的,注意这个类只要和视频或者拍照的都需要用到,不过项目里一般都是自己写的。
这些代码只是参考互相学习,功能的话,自己还在做,所以先提供这些学习的...,希望可以帮助学习的人,然后自己写博客的目的也是对自己学习的技术进行收录和共享,只是本着互相学习的目的。


<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" 
 android:background="#ffffff"> 
 <!-- 显示预览图形 --> 
 <SurfaceView 
  android:id="@+id/surfaceView" 
  android:layout_width="match_parent" 
  android:layout_height="match_parent" /> 
 <RelativeLayout 
  android:id="@+id/buttonLayout" 
  android:layout_width="match_parent" 
  android:layout_height="match_parent" 
  android:background="@drawable/pic"> 
  <RelativeLayout 
   android:id="@+id/panel_take_photo" 
   android:layout_width="fill_parent" 
   android:layout_height="wrap_content" 
   android:layout_alignParentBottom="true" 
   android:background="@color/white" 
   android:gravity="center_vertical" 
   android:padding="2dp"> 
   <Button 
    android:id="@+id/btn_take_photo" 
    android:layout_width="50dp" 
    android:layout_height="50dp" 
    android:background="@drawable/btn_take_photo" 
    android:layout_centerHorizontal="true" 
    android:layout_alignTop="@+id/iv_album" /> 
   <ImageView 
    android:id="@+id/iv_album" 
    android:layout_width="40dp" 
    android:layout_height="40dp" 
    android:layout_alignParentLeft="true" 
    android:layout_centerVertical="true" 
    android:layout_marginLeft="20dp" 
    android:padding="5dp" 
    android:src="@drawable/camera_library" /> 
   <ImageView 
    android:id="@+id/title_btn_black" 
    android:layout_width="40dp" 
    android:layout_height="40dp" 
    android:layout_alignParentRight="true" 
    android:layout_centerVertical="true" 
    android:layout_marginRight="20dp" 
    android:padding="5dp" 
    android:src="@drawable/camera_back" /> 
  </RelativeLayout> 
  <LinearLayout 
   android:id="@+id/photo_area" 
   android:layout_width="fill_parent" 
   android:layout_height="wrap_content" 
   android:layout_above="@id/panel_take_photo" 
   android:layout_centerVertical="true" 
   android:background="@color/white" 
   android:orientation="horizontal"></LinearLayout> 
  <!-- 自定义的标题栏--> 
  <RelativeLayout 
   android:id="@+id/camera_top" 
   android:layout_width="fill_parent" 
   android:layout_height="40dp" 
   android:layout_alignParentTop="true" 
   android:background="@color/black"> 
   <ImageView 
    android:id="@+id/btn_black" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_alignParentLeft="true" 
    android:paddingBottom="10dp" 
    android:paddingLeft="10dp" 
    android:paddingTop="10dp" 
    android:src="@drawable/back" /> 
   <ImageView 
    android:id="@+id/btn_change" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_alignParentRight="true" 
    android:layout_centerVertical="true" 
    android:paddingBottom="10dp" 
    android:paddingRight="10dp" 
    android:paddingTop="10dp" 
    android:src="@drawable/camera_flip" /> 
  </RelativeLayout> 
  <!-- 自定义的CameraGrid--> 
  <org.personality.camera.ui.view.CameraGrid 
   android:id="@+id/masking" 
   android:layout_width="match_parent" 
   android:layout_height="match_parent" 
   android:layout_above="@id/photo_area" 
   android:layout_alignParentTop="true" /> 
  <View 
   android:id="@+id/focus_index" 
   android:layout_width="40dp" 
   android:layout_height="40dp" 
   android:layout_above="@id/photo_area" 
   android:background="@drawable/cam_focus" 
   android:visibility="invisible" /> 
 </RelativeLayout> 
</FrameLayout>

 提供自定义CameraGrid类:


 
public class CameraGrid extends View { 
 private int topBannerWidth = 0; 
 private Paint mPaint; 
 public CameraGrid(Context context) { 
  this(context,null); 
 } 
 public CameraGrid(Context context, AttributeSet attrs) { 
  super(context, attrs); 
  init(); 
 } 
 private void init(){ 
  mPaint = new Paint(); 
  mPaint.setColor(Color.WHITE); 
  mPaint.setAlpha(120); 
  mPaint.setStrokeWidth(1f); 
 } 
 private boolean showGrid = true; 
 public boolean isshowGrid() { 
  return showGrid; 
 } 
 public void setShowGrid(boolean showGrid) { 
  this.showGrid = showGrid; 
 } 
 public int getTopWidth() { 
  return topBannerWidth; 
 } 
} 
您可能感兴趣的文章:Android 用 camera2 api 自定义相机Android中关于自定义相机预览界面拉伸问题Android自定义相机实现定时拍照功能Android自定义组件获取本地图片和相机拍照图片Android自定义相机实现自动对焦和手动对焦Android自定义照相机Camera出现黑屏的解决方法Android实用控件自定义逼真相机光圈ViewAndroid自定义照相机详解Android自定义照相机倒计时拍照Android 自定义相机及分析源码


--结束END--

本文标题: Android自定义相机界面的实现代码

本文链接: https://www.lsjlt.com/news/23225.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android项目中如何实现自定义相机预览界面
    Android项目中如何实现自定义相机预览界面?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。官方文档:public static void setCameraD...
    99+
    2023-05-31
    android roi 目中
  • Android ListView自定义Adapter实现仿QQ界面
    PS:listview中有一些简单使用的适配器,如:SimpleAdapter:构造方法SimpleAdapter(Context context,List<Map<String,?>> data,reStr...
    99+
    2023-05-30
    listview adapter
  • Android自定义照相机的实例
    Android自定义照相机实现近期小巫在学校有一个创新项目,也不是最近,是一个拖了很久的项目,之前一直没有去搞,最近因为要中期检查,搞得我跟小组成员一阵忙活,其实开发一款照相机软件并不太难,下面就是通过自定义的方式来实现手机照相的功能。创建...
    99+
    2023-05-31
    android自定义 照相机 roi
  • Android自定义View实现相机对焦框
    前言 在相机APP中,手动对焦时都会出现一个对焦框,告诉用户相机正在对焦。那么这种对焦框是怎么实现的呢?最近项目中有几个需求,实现手动对焦,自动对焦和对焦框。总体来说不是很复杂,在这...
    99+
    2024-04-02
  • Android仿苹果关机界面实现代码
    本文实例为大家分享了Android仿苹果关机界面的具体代码,供大家参考,具体内容如下主class 用来控制viewdialog的显示package com.android.server.policy; import android.ap...
    99+
    2023-05-30
    android 关机界面 roi
  • Android如何自定义手机界面状态栏
    Android如何自定义手机界面状态栏,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言我们知道IOS上的应用,状态栏的颜色总能与应用标题栏颜色保持一致,用户体验很不错,那安卓...
    99+
    2023-06-19
  • Android中怎么自定义相机
    本篇文章给大家分享的是有关Android中怎么自定义相机,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。使用Android 系统相机的方法:要想让应用有相机的action,咱们就...
    99+
    2023-05-30
    android
  • Android自定义videoview仿抖音界面
    本文实例为大家分享了Android自定义videoview仿抖音界面的具体代码,供大家参考,具体内容如下 1.效果图 和抖音的界面效果一模一样,而且可以自定义,需要什么页面,请自己定...
    99+
    2024-04-02
  • Android自定义View实现随机数验证码
    目录前言效果自定义 View 分类步骤1.自定义属性2.添加构造方法3.在构造里获取自定义样式4.重写 onDraw 计算坐标绘制5.重写 onMeasure 测量宽高6.设置点击事...
    99+
    2024-04-02
  • android自定义对话框实例代码
    1.实现效果    2.定义dialog.xml (res/layout/dialog.xml) <?xml version="1.0" encoding="utf...
    99+
    2024-04-02
  • Android自定义view实现雪花特效实例代码
    目录一、前言二、创意名三、效果展示四、实现步骤五、编码实现总结一、前言 这个冬天,老家一直没有下雨, 正好圣诞节,就想着制作一个下雪的特效。 圣诞祝福:平安夜,舞翩阡。雪花飘,飞满天...
    99+
    2022-12-28
    android实现雪花特效 android雪花特效 android自定义view
  • Android自定义ViewGroup实现选择面板
    目录背景效果思路完整代码使用背景 在做社交类平台开发的小伙伴都躲不开选择社交个性标签的业务需求,那么实现这个UI效果我想大伙第一时间想到的必定是RecycleView或GridVie...
    99+
    2024-04-02
  • android隐式意图激活自定义界面和系统应用界面的实例
    我们也可以使用隐士意图激活自定义的界面,并且可以携带数据:效果:点击第二个按钮后:点击最后一个按钮(激活系统短消息界面)后:附代码:主窗体的代码:package com.yy.twoactivity;import android.app.A...
    99+
    2023-05-31
    android 隐式意图 自定义界面
  • uniapp自定义相机实现示例详解
    目录自定义相机起因利用livePusher实现使用效果图拓展实现多种自定义相机水印相机身份证相机人像相机自定义相机 起因 由于最近用uniapp调用原生相机容易出现闪退问题,找了很...
    99+
    2023-03-09
    uniapp自定义相机 uniapp 相机实现
  • Android自定义相机、预览区域裁剪
    本文实例为大家分享了Android自定义相机,预览区域裁剪的具体代码,供大家参考,具体内容如下 写法一: 预览区域裁剪,方法调用: //按照比例进行裁剪头像区域 Bitmap   ...
    99+
    2024-04-02
  • Android怎么自定义View实现随机数验证码
    本篇内容介绍了“Android怎么自定义View实现随机数验证码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!效果自定义 View 分类简单...
    99+
    2023-07-02
  • SpringSecurity自定义认证器的实现代码
    目录AuthenticationAuthenticationProviderSecurityConfigurerAdapterUserDetailsServiceTokenFilte...
    99+
    2024-04-02
  • Android自定义videoview仿抖音界面的示例分析
    这篇文章主要介绍Android自定义videoview仿抖音界面的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Android是什么Android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用...
    99+
    2023-06-15
  • Swift代码自定义UIView实现示例
    Swift自定义View和OC自定义View的原理都是一样的,重写init()方法或initWithFrame()方法,下面简单说说如何自定义swift UIView 主要是重写in...
    99+
    2024-04-02
  • flutter聊天界面-自定义表情键盘实现
    flutter聊天界面-自定义表情键盘实现 flutter 是 Google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过 Dart语言开发 App,一套代码同时运行在 iO...
    99+
    2023-09-05
    flutter flutter聊天界面 自定义表情 聊天界面
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作