如何进行SurfaceView的示例分析


这篇文章给大家介绍如何进行SurfaceView的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。SurfaceView简介SurfaceView本身是一个View,符合一切View的特性,需要通过Canvas画布绘制。可以在另一个线程中更新界面,不会阻碍界面的交互
SurfaceView 绘图效率较高,用于界面更新频繁的程序,如相机预览。一些游戏的动画效果也一般用SurfaceView来实现。实现效果我们这次想实现的效果是说上去的话能够直接显示在弹出的语音实别框里。代码演示语音实别的这块实现主要还是看《Android集成科大讯飞SDK实现语音识别》文章里的介绍吧,我们这次的代码主要是看SurfaceView(1)创建SurfaceView创建自定义的SurfaceView继承自SurfaceView,并实现两个接口:SurfaceHolder.Callback代码如下:通过实现这个接口,就需要在自定义的SurfaceView中实现接口的方法,对于SurfaceHolder.Callback方法,需要实现如下方法,其实就是SurfaceView的生命周期:上面的DrawText是我们的核心方法,一会儿再介绍(2)初始化SurfaceView在自定义的SurfaceView的构造方法中,需要对SurfaceView进行初始化,包括SurfaceHolder的初始化、如支持透明度,防止被其它控件遮挡。代码如下:(3)使用SurfaceView
通过SurfaceHolder对象的lockCanvans()方法,我们可以获取当前的Canvas绘图对象。接下来的操作就和自定义View中的绘图操作一样了。需要注意的是这里获取到的Canvas对象还是继续上次的Canvas对象,而不是一个新的对象。因此,之前的绘图操作都会被保留,如果需要擦除,则可以在绘制前,通过定义一个Paint,然后drawPaint()方法来进行清屏操作。核心方法DrawText上面这段可以看到,我们先通过SurfaceHolder对象的lockCanvans()获取到canvas,然后利用了一个Paint进行了一次清屏操作,防止上次字符重叠,接下来就是用的TextPaint进行文字的绘制。到这里我们的SurfaceView就已经定义好了。调用SurfaceView
我们新建一个IattextActivity然后对应的布局 香港云主机文件里面加入我们的TextSurfaceview和一个ImageView效果如下:调用SurfaceView整个Activity的代码关于如何进行SurfaceView的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

相关推荐: 如何解决leetcode链表之环路检测问题

小编给大家分享一下如何解决leetcode链表之环路检测问题,相信大部分人 香港云主机都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!以上是“如何解决leetcode链表之环路检测问题”这篇文章的所…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 09/21 12:52
下一篇 09/21 12:52

相关推荐