surfaceview介绍】的更多相关文章

[1]surfaceview 控件是一个重量级控件      [2]内部维护了2个线程     A 获取数据  负责显示     B 负责显示  获取数据      [3]他可以直接在子线程更新ui   与进度相关的控件可以直接在子线程更新ui   import java.io.IOException; import android.media.MediaPlayer; import android.media.MediaPlayer.OnPreparedListener; import and…
SurfaceView介绍 通常情况程序的View和用户响应都是在同一个线程中处理的,这也是为什么处理长时间事件(例如访问网络)需要放到另外的线程中去(防止阻塞当前UI线程的操作和绘制).但是在其他线程中却不能修改UI元素,例如用后台线程更新自定义View(调用View的在自定义View中的onDraw函数)是不允许的. 如果需要在另外的线程绘制界面.需要迅速的更新界面或则渲染UI界面需要较长的时间,这种情况就要使用SurfaceView了.SurfaceView中包含一个Surface对象,而…
SurfaceView介绍 SurfaceView是视图(View)的继承类,这个视图里面内嵌了一个专门用于绘制的Surface.你可以控制这个Surface的格式和尺寸,而SurfaceView控制这个Surface的绘制位置,Surface是纵深排序的,这表明它总在自己所在的窗口的后面,SurfaceView提供了一个可见区域,只有这个可见区域内的surface部分内容才能可见,可见区域外的是看不到的.当然surface的排版显示会受到视图层级关系的影响,它的兄弟视图结点会在顶端显示,这意味…
计算机表示图形的几种方式 a)         Bmp:以高质量保存,用于计算机 b)         Jpg:以良好的质量保存,用于计算机或网络 c)         Png:以高质量保存 d)         图片大小的计算公式: 图片大小=图片总像素*每个像素大小 e)         单色:每个像素指标是两种颜色(黑或白),那么只需要使用长度为1的二进制位来表示,那么一个像素占1/8个byte f)          16色:每个像素最多表示16种颜色,0000 - 1111,那么需要使…
由于工作中需自定义控件,以前没写过. 开始时,实用view 实现了,经理说不好,担心效率低,要求每秒需要刷新10次左右. 然后,学习使用  surfaceview. 看了网上简单的Demo,找到himi的教程很不错. 简单说就是,继承 surfaceview 实现callback接口. 构造-加载数据,将资源图片读取为bitmap 创建-将背景bitmap使用 canvas  画出来 处理点击事件,保存消息队列 创建线程处理消息队列-(需要考虑同步) ======================…
  通过之前介绍的如何自定义View, 我们知道使用它可以做一些简单的动画效果.它通过不断循环的执行View.onDraw方法,每次执行都对内部显示的图形做一些调整,我们假设 onDraw方法每秒执行20次,这样就会形成一个20帧的补间动画效果.但是现实情况是你无法简单的控制View.onDraw的执行帧数,这边说的执 行帧数是指每秒View.onDraw方法被执行多少次,这是为什么呢?首先我们知道,onDraw方法是由系统帮我们调用的,我们是通过调用View的 invalidate方法通知系统…
前言  这款安卓小游戏是基于SurfaceView的飞行射击类游戏,采用Java来写,没有采用游戏引擎,注释详细,条理比较清晰,适合初学者了解游戏状态转化自动机和一些继承与封装的技巧. 效果展示     游戏概述 这里主要涉及的技术有:①SurfaceView框架 ②角色.武器的封装 ③辅助帧动画 ④追踪打击算法 ⑤多武器实现 ⑥敌我升级策略 ⑦模拟手柄.其中SurfaceView游戏框架我在[[安卓] 8.VIEW和SURFACEVIEW游戏框架]有详细介绍,接下来我还将再次分析下:对于角色.…
我们先来看下官方API对SurfaceView的介绍 SurfaceView的API介绍 Provides a dedicated drawing surface embedded inside of a view hierarchy. You can control the format of this surface and, if you like, its size; the SurfaceView takes care of placing the surface at the cor…
SurfaceView使用介绍 SurfaceView是View的一个特殊子类,它的目的是另外提供一个线程进行绘制操作. 要使用SurfaceView进行绘制,步骤如下: 1.用SurfaceView进行绘制,首先要创建一个类,继承 SurfaceView,同时这个类应该实现SurfaceHolder.Callback接口. 这个接口中的三个回调函数(surfaceChanged(SurfaceHolder holder, int format, int width, int height),s…
昨天介绍了VideoView播放视频,今天再介绍一种播放视频的方法MediaPlayer和SurfaceView,MediaPlayer播放音频,SurfaceView来显示图像,具体步骤如下: 1.创建MediaPlayer对象,并让它加载指定的视频文件. 2.在界面布局中定义SurfaceView组件,或在程序中创建SurfaceView组件,并为SurfaceView的SurfaceHolder添加Callback监听器. 3.调用MediaPlayer对象的setDisplay(Surf…