位置: 编程技术 - 正文

Android开发:SurfaceView基本用法总结及开发问题分享(Android开发工具箱)

编辑:rootadmin

推荐整理分享Android开发:SurfaceView基本用法总结及开发问题分享(Android开发工具箱),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Android开发者网站,Android开发是做什么的,Android开发者网站,qt Android开发,Android开发工具,Android开发者网站,Android开发是做什么的,qt Android开发,内容如对您有帮助,希望把文章链接给更多的朋友!

本文主要讲解如何使用SurfaceView,并不涉及原理讲解,旨在帮助大家快速上手SurfaceView开发。如需了解原理,可以移步:(谷歌)SurfaceView原理详解 或者:(百度)SurfaceView原理详解

转载请注明作者xiong_it和链接: 以上已废弃)

8、利用SurfaceHolder对象设置Surface的大小宽高(可选项)

SurfaceView示例代码如下:

SurfaceView开发问题分享

在此SurfaceView上无法成功绘图

首先,我们按照标准步骤自定义了SurfaceView,然后,在Surface创建时开启了一个线程来绘制一个自左向右走的圆。假如大家把代码运行起来的话,会发现SurfaceView无法绘制圆出来这是为什么呢?

因为在设置Surface类型时:

使用 SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS 这种类型时是无法自定义绘图的,请注意!

Android开发:SurfaceView基本用法总结及开发问题分享(Android开发工具箱)

setType还有另外三种类型分别是:

使用此SurfaceView视频无法播放

当使用MediaPlayer播放视频时,我们需要把SurfaceHolder对象传递进去:

结果发现只能绘图(上面代码中的圆mCanvas.drawCircle()),无法正常播放视频,声音也没有。那我又需要既播放视频,又能在视频上绘制我想要的圆的轨迹,怎么办呢?

我的解决办法是重写一个SurfaceView,专门用来绘制圆的轨迹,也就是采用两层SurfaceView重叠的方式来实现我的需求。

此时出现第二个问题,两个重叠的SurfaceView会有一个被盖住。两层SurfaceView重叠被盖住怎么办?

将绘制圆圈轨迹的SurfaceView的Surface&#;式(背景)设置为透明即可:

此时,圆圈轨迹绘被绘制在视频上面,完美解决两层SurfaceView重叠时被盖住的问题在此SurfaceView绘图出现重影/叠影/残影

在绘图过程,有时发现,绘制的圆圈轨迹呈现出一条线,也就是重影问题,这不是我想要的结果。SurfaceView绘制出现重影怎么办呢?

解决办法时在每次绘制前进行清理:

清理画布完美解决SurfaceView绘图重影/叠影/残影 问题。

好了,今天 SurfaceView基本用法总结及开发问题分享 就到这里,希望对大家有所帮助!文中观点如有失误,还请各位斧正,谢谢!

转载请注明作者xiong_it和链接:

Android 进程与线程 进程在Android中,整体的application(将影响其中各个组件...)和底下各个组件,都可以设置process属性,相同process属性的组件将扔到同一个进程中运行。最

实现Android 动态加载APK(Fragment or Activity实现) 尊重原创:

彻底解决Android 应用方法数不能超过K的问题 尊重原创:

本文链接地址:https://www.jiuchutong.com/biancheng/384275.html 转载请保留说明!

上一篇:android的动画之translate(android中的几种动画)

下一篇:Android 进程与线程(android 进程通信)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络