Android中使用SurfaceView的方法
SurfaceView在游戏开发中有着举足轻重的地位,它对于画面的控制有着更大的自由度
(不像View要用handler来更新,关于View的),但这方面的参考资料并不是太多,能找到的例子都有点喧宾夺主的感觉,
不能把使用的流程清晰展示出来,下面是个简单的示例,力求把流程清楚展示,其他的可简则简。
程序效果:用线程画一个蓝色的长方形。
package com.ray.test;
/*
* SurfaceView的示例程序
* 演示其流程
*/
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class Test extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new MyView(this));
}
//内部类
class MyView extends SurfaceView implements SurfaceHolder.Callback{
SurfaceHolder holder;
public MyView(Context context) {
super(context);
holder = this.getHolder();//获取holder
holder.addCallback(this);
//setFocusable(true);
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
new Thread(new MyThread()).start();
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
}
//内部类的内部类
class MyThread implements Runnable{
@Override
public void run() {
Canvas canvas = holder.lockCanvas(null);//获取画布
Paint mPaint = new Paint();
mPaint.setColor(Color.BLUE);
canvas.drawRect(new RectF(40,60,80,80), mPaint);
holder.unlockCanvasAndPost(canvas);//解锁画布,提交画好的图像
}
}
}
}
分享到:
相关推荐
Android下使用SurfaceView播放视频文件,详细参见博客:http://www.cnblogs.com/plokmju/p/android_SurfaceView.html
这是在上网收集的,能够截取当前Activity中surfaceView中图片。本人亲测可以通过。
Android中使用surfaceview开发的Camera相机,内容含有注释,非常清楚
Android游戏框架SurfaceView介绍 PDF TAG:Android 游戏框架 SurfaceView
Android中SurfaceView的使用
1.最近的项目中,有一个Activity用到Fragment+ViewPager,其中一个fragment中实现了视频播放的功能,包含有SurfaceView。结果,每次打开程序第一次进入到该Activity时都会闪屏黑一下。原因就出在SurfaceView。 详解:...
AndroidApp中使用SurfaceView制作多线程动画的实例讲解.docx
安卓Android源码——安卓Android使用SurfaceView实现墨迹天气的风车效果.zip
该资源是一个完整的android项目,主要是利用surfaceview和android的重力传感器实现自由落体的模拟,包括碰撞和瞬间改变重力加速度的方向等。该案例是我模拟物理引擎的一个例子,主要是参照“动量守恒定律”和“动能...
android View、SurfaceView Demo - 对应博客:http://blog.csdn.net/amoscxy/article/details/77480655
Android圆形相机预览窗口,圆形SurfaceView
Android的SurfaceView实现图片缩放、滑动,网上资源不多,目前还有些问题,仅供参考。
Android开发摄像头SurfaceView预览 背景画图(矩形和圆形) 实现(双surfaceview,顶层画矩形框,底层预览视频); UI:三个按钮 预览 摄像 图片保存,预览界面 可以显示(矩形和圆形等图画)
安卓Android源码——SurfaceView添加组件view不被组件覆盖.zip
一个使用SurfaceView的Demo
android使用双缓冲辨析及surfaceview使用例子
android中surfaceview控件的使用,详细介绍使用的注意点,和过程
在android中surfaceView的使用
Android使用SurfaceView实现墨迹天气的风车效果 http://blog.csdn.net/xyz_lmn/article/details/20483709
android中的surfaceview示例源码下载,Android SurfaceView在游戏开发中使用想当广泛,SurfaceView对于画面的控制有着更大的自由度,它不像View那样要用handler来更新,但是网上关于 SurfaceView使用这方面的参考...