本文实例讲述了Android编程实现带有单选按钮和复选按钮的dialog。...分享给大家供大家参考,具体如下: 带有单选按钮的dialog: package example.com.myapplication; import android.app.Activity; import...android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle...Toast.LENGTH_SHORT).show(); } }) .create(); alertDialog.show(); } } 带有复选按钮的...相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《
应用场景: 在Android开发过程中,有时需要调用手机自身设备的功能,本文侧重摄像头拍照功能的调用。...知识点介绍: 使用权限:调用手机自身设备功能(摄像头拍照功能),应该确保已经在AndroidManifest.xml中正确声明了对摄像头的使用及其它相关的feature。 <!...你可以控制这个Surface的格式和尺寸。Surfaceview控制这个Surface的绘制位置。...2、 SurfaceHolder SurfaceHolder是控制surface的一个抽象接口,你可以通过SurfaceHolder来控制surface的尺寸和格式,或者修改surface的像素,监视...实现摄像头拍照功能 以上就是本文的全部内容,希望对大家的学习有所帮助。
最近我负责开发了一个跟Android相机有关的需求,新功能允许用户使用手机摄像头,快速拍摄特定尺寸(1:1或3:4)的照片,并支持在拍摄出的照片上做贴纸相关的操作。...由于之前没有接触过Android相机开发,所以在整个开发过程中踩了不少坑,费了不少时间和精力。...一.Android中开发相机应用的两种方式 Android系统提供了两种使用手机相机资源实现拍摄功能的方法,一种是直接通过Intent调用系统相机组件,这种方法快速方便,适用于直接获得照片的场景,如上传相册...SurfaceHolder:surfaceholder是控制surface的一个抽象接口,它能够控制surface的尺寸和格式,修改surface的像素,监视surface的变化等等,surfaceholder...对应到自定义相机的代码中,要注意在拍照按钮事件响应中执行camera.autofocus或camera.takepicture前,一定要检验camera有没有设置预览Surfaceview并开启了相机预览
Android使用MediaRecorder类进行视频的录制。...-- 开始录制按钮 --> <Button android:id="@+id/startRecord" android:layout_width...= (SurfaceView) findViewById(R.id.surView); // onCreate()初始化 ,一开始肯定没有开始录制,所以停止按钮不可点击...= (SurfaceView) findViewById(R.id.surView); 36 37 // onCreate()初始化 ,一开始肯定没有开始录制,所以停止按钮不可点击...3、摄像预览效果是有90度旋转的,这里需要大家个人去看下MedioRecoder的API 去进行设置 4、没有设置对焦,像素不清楚,摄像宽高变形
, SurfaceView 相当与 Surface 的窗口, 只有在 SurfaceView 窗口区域内的才是可见的, 其它没有在窗口正下方的内容不可见; -- Surface 与 SurfaceView...: SurfaceView 通过 SurfaceHolder 控制 Surface; (2) SurfaceHolder 简介 Surfaceholder 简介 : SurfaceHolder 是 Surface...的控制器, 用于控制 SurfaceView 绘图, 处理画布上的 动画 渲染效果 尺寸等; -- 添加 Callback 回调接口 : abstract void addCallback(SurfaceHolder.Callback...简介 : 是 Surface 的控制器, 用于控制 SurfaceView 绘图, 处理画布上的动画, 渲染效果, 大小等; * 2....reset; /* 重放按钮 */ private Button stop; /* 停止按钮 */ private MediaPlayer mediaPlayer
其中通过SurfaceView显示视频的画面,通过MediaPlayer来设置播放参数、并控制视频的播放操作;该方式的具体说明参见《Android开发笔记(五十七)录像录音与播放》。...VideoView其实是从SurfaceView扩展而来,并在内部集成了MediaPlayer,从而实现视频画面与视频操作的统一管理;而MediaController则是一个简单的播放控制条,它实现了基本的控制按钮...,这个简单播放器存在若干不足,包括: 1、控制条分上下两行,上面是控制按钮,下面是进度条,高度太宽了; 2、按钮样式无法定制,且不能增加和删除按钮; 3、进度条与播放时间的样式也不能定制; 4、...好在我们的需求只是更改控制条的样式,没有增加复杂的功能,增添几个指定风格的控件想必大家都很熟练了,唯一的难点在于如何跟VideoVie对象同步当前的播放进度。...如果只是修改代码,其实还不能完全实现自动全屏的功能,主要问题如下: 1、屏幕顶部的系统状态栏依然留在屏幕顶端; 2、App自身的导航栏也仍旧没有隐藏; 3、在视频播放途中,如果手机屏幕发生切换,例如从竖屏变为横屏
我们平时利用Android手机娱乐最常见的方式莫过于听歌和看电影了,当然还有玩游戏,当然,这里我要说的是针对Android对于媒体文件播放的支持。... 整体是一个竖向布局,最上面是一个EditText用于输入媒体文件的路径,接下来是三个按钮控制播放状态,最后是一个SurfaceView组件用于作为视频文件的输出控件,...; import android.view.SurfaceView; import android.view.View; import android.view.SurfaceHolder.Callback...(设定媒体文件路径、准备媒体文件、判断是音频还是视频),之后就是控制播放状态和进行相关按钮状态UI的更新,逻辑并不复杂。...因为模拟器中没有媒体文件,所以用的真机进行的测试,单击“开始”按钮: ? 单击“暂停”按钮: ? 单击“停止”按钮之后又变成了第一幅图。
最终效果图 最终效果图 前言 这里用VideoView写一个播放器, 可以横竖屏, 可以选文件, 可以暂停, 可以快进后退, 可以进度条拖动, 可以触屏调节音量. 来看看怎么实现的吧!...这里的要点是一些使用功能的实现. 可以查阅官方文档. 官方文档 横竖屏切换 第一步是到配置文件里面设置....我们在Toolbar里面添加切换横竖屏按钮, 然后重写onConfigurationChanged....调节音量的代码也是很常规的了...., 可以考虑使用SurfaceView, 但是VideoView大部分时候也够用了.
大家好,这是一个简单的拍照功能,很简单的界面,一个显示图像区域SurfaceView一个“拍照”按钮。直接上代码!...android.view.SurfaceView; import android.view.View; import android.view.Window; import android.view.View.OnClickListener...String TAG = "CameraActivity"; private SurfaceView surfaceView; private SurfaceHolder surfaceHolder..." android:layout_height="fill_parent" android:orientation="vertical" <android.view.SurfaceView...实现拍照功能 以上就是本文的全部内容,希望对大家的学习有所帮助。
-- 没有焦点时的背景图片 --> ...,例如按钮上的文本的颜色 <?...结合这篇博文Android开发:shape和selector和layer-list以及博主的实现的圆角镂空按钮例子(综合使用了Shape、Layer和Selector实现了圆角镂空按钮)一起看还是挺不错的...5.Android图像处理 [TODO:该部分略过了,自己暂时用的比较少,等需要用的时候学习下再补充] 色彩特效处理、图形特效处理、画笔特效处理 6.SurfaceView SurfaceView与...; (3)View在绘图时没有使用双缓冲机制,而SurfaceView在底层实现机制中就已经实现了双缓冲机制。
项目中经常用到Android自带的camera拍照功能。于是做了个封装,CameraUtil.java类。 再次用到就简单啦,可以最大限度的复用提高效率。...我最喜欢对常用的功能模块进行封装,因为优秀的代码思想就是要追求最大化的复用和高效率。推荐《重构》和《程序员修炼之道》书籍。不要觉得这类书籍有些理论比较空洞,不如看某某实战之类的书籍。...第一个就是预览的界面surfaceView,第二个参数相机ID,默认为0.第三个参数图像旋转的角度。第四个参数拍照的按钮。onPictureListener为拍完照片的回调处理。...; import android.util.Log; import android.view.Surface; import android.view.SurfaceHolder; import android.view.SurfaceView...= null) { mCamera.stopPreview(); } } }; /* * 控制图像的正确显示方向
SurfaceFlinger收到VSYNC信号后,会遍历它的所有visible layers:如果该layer有新的buffer,获取它;如果没有,继续使用旧的buffer;如果该layer没有任何buffer...点击右上角的”OPEN FILE“按钮,选择要打开的pb文件,如图: Analyzing a trace in WinScope 这个trace里面有下面几个部分: Timeline — 事件的时间轴...SurfaceHolder:提供可以编辑和控制Surface的接口。大部分和view交互的组件都关联一个SurfaceHolder来操作Surface,如SurfaceView。...在 API 24 及更高版本中,建议使用SurfaceView而不是TextureView。 两者功能类似并且都是 view hierarchy 中的一员。但是,它们实现方法不一样。...但TextureView在某些功能的实现上比SurfaceView要简单,比如缩放功能的实现:缩放SurfaceView需要FrameLayout的自定义实现,WindowManager需要告诉SurfaceFlinger
关于音视频通话过程中最小化成悬浮框这个功能的实现,网络上类似的文章很多,但是好像还没看到解释的较为清晰的,这里因为项目需要实现了这样的一个功能,今天我把它记录下来,一方面为了以后用到便于自己查阅,一方面也给有需要的人提供一个思路...二、实现思路 关于这个功能的实现其实不难,这里我把实现思路拆分为了两步:1、视频通话Activity的最小化。...2、视频通话悬浮框的开启 具体思路是这样的:当用户点击最小化按钮的时候,最小化我们的视频通话Activity(这时Activity处于后台状态),移除原先在Activity的视频画布(因为我用的是网易云信...这里我把悬浮框的实现方法写在一个服务Service里面,将悬浮框的开启关闭与服务Service的绑定解绑所关联起来,开启服务即相当于开启我们的悬浮框,解绑服务则相当于关闭关闭的悬浮框,以此来达到更好的控制效果...Android开发的又一功能实现方式,希望我们整理的能够帮助到你。
即Surface是保存原始缓存区的句柄,也就是显示的像素数据 SurfaceView SurfaceView是视图(View)的继承类,这个视图里内嵌了一个专门用于绘制的Surface。...你可以控制这个Surface的格式和尺寸。Surfaceview控制这个Surface的绘制位置。 surface是纵深排序(Z-ordered)的,这表明它总在自己所在窗口的后面。...这意味者 surface的内容会被它的兄弟视图遮挡,这一特性可以用来放置遮盖物(overlays)(例如,文本和按钮等控件)。...SurfaceHolder是用来操作surface的接口,通过SurfaceView的getHolder来获取 Surface、SurfaceView和SurfaceHolder的关系类似MVC。...Model为Surface;View为SurfaceView, Control为SurfaceHolder。 参考https://www.android-doc.com/reference/
作者:康白 博客:http://blog.csdn.net/k_bb_666 最近在写视频播放器的时候用到了SurfaceView和MediaPlayer,在各个功能完成后,竟得意忘形,感觉自己又get...它们是一个东西吗?”...引伸地,可以认为Android中的Surface就是一个用来画图形(graphics)或图像(image)的地方。...提供访问和控制SurfaceView背后的Surface 相关的方法 (providing access and control over this SurfaceView’s underlying surface...MVC中的Controller(控制器)。
如,将屏幕左上角的按钮 通过补间动画 移动到屏幕的右下角 点击当前按钮位置(屏幕右下角)是没有效果的,因为实际上按钮还是停留在屏幕左上角,补间动画只是将这个按钮绘制到屏幕右下角,改变了视觉效果而已。...接口中的成员: 成员变量:只能是常量 默认修饰符 public static final(不能被修改) 构造方法:没有,因为接口主要是扩展功能的,而没有具体存在 成员方法:只能是抽象方法 默认修饰符...从API中可以看出SurfaceView属于View的子类 它是专门为制作游戏而产生的,它的功能非常强大,最重要的是它支持OpenGL ES库,2D和3D的效果都可以实现。...Android系统提供了View进行绘图处理,我们通过自定义的View可以满足大部分的绘图需求,但是这有个问题就是我们通常自定义的View是用于主动更新情况的,用户无法控制其绘制的速度,由于View是通过...SurfaceView在绘图时使用l了双缓冲机制,而View没有。
在android中应用相机功能,一般有两种:一种是直接调用系统相机,一种自己写的相机。...第二种: (1)首先我们要自己创建一个照相界面,必须考虑用什么控件显示照相机中的预览效果,显然android已经帮我们做好了选择,那就是SurfaceView 控制SurfaceView需要一个surfaceHolder...Camera提供一个setPreviewDisplay(SurfaceHolder)的方法来连接surfaceHolder,并通过他来控制surfaceView....很奇怪的是,这个方法,不能随便放,如放在构造方法或者onCreate()方法中,都会照成没有预览效果. (3) SurfaceHolder.Callback,这是个holder用来显示surfaceView...*288,480*360,640*480) myCamera.setParameters(parames); 还有自动对焦,当然有些手机没有这个功能,自动对焦是通过autoFocus()这个方法调用一个自动对焦的接口
多视频 前言 大家好,今天我为大家介绍一下如何在Android系统下实现实时直播互动中的多视频展示功能。...它们的区别大家可以看我的另一篇文章 视频的渲染与展示 一文的介绍。我们今天这个例子是通过 SurfaceView来给大家演示的。...注意,之所以我们在这个项目中使用 SurfaceView,主要是因为SurfaceView更为灵活,便于我们更好的控制它。当然它同时带来的缺点是,与其它View相比开发变得比较复杂。..."> <SurfaceView android:id="@+id/surfaceview1" android:layout_width="match_parent..." android:layout_height="match_parent" /> <SurfaceView android:id="@+id/surfaceview2
"/> ---- 一、SurfaceView与Camera ?..."/> ---- 3.SurfaceView和Camera的使用 public class CameraActivity...PictureCallback raw, PictureCallback jpeg) { takePicture(shutter, raw, null, jpeg); } ---- 4.拍照的功能实现...延迟拍照.gif ---- 5.1:延迟按钮的点击效果 选中时拍照延迟3s(此处简单地写死,当然你也可以暴漏设置方法) ?...Exception e) { e.printStackTrace(); } } else { ToastUtil.show(this, "您的手机不支持变焦功能
Surface 来实现将相机捕捉到的画面展示在界面布局中的全部功能; 代码轻量: PreviewView 只专注于实现相机画面预览功能。...当涉及到诸如功耗和响应时间这些关键指标时,SurfaceView 的表现一般都比 TextureView 要好,这也是为什么 PreviewView 会将 SurfaceView 作为默认实现模式的原因...可惜的是,使用 SurfaceView 时无法控制何时对画面 (surface) 进行释放,因为这是由 View 层级结构所控制的。...PreviewView 会结合所传入的 CameraInfo 参数,以及您所设定的实现模式和当前相机具备功能,来决定内部如何进行功能上的实现。...想了解更多关于 CameraX 的优秀功能吗?
领取专属 10元无门槛券
手把手带您无忧上云