位置: 编程技术 - 正文
推荐整理分享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 这种类型时是无法自定义绘图的,请注意!
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的问题 尊重原创:
标签: Android开发工具箱
本文链接地址:https://www.jiuchutong.com/biancheng/384275.html 转载请保留说明!上一篇:android的动画之translate(android中的几种动画)
下一篇:Android 进程与线程(android 进程通信)
友情链接: 武汉网站建设