SurfaceView 连续渲染 SurfaceHolder Canvas
来源:互联网 发布:java多线程详解 编辑:程序博客网 时间:2024/06/07 07:19
Canvas canvas = holder.lockCanvas();canvas.drawRGB(255, 0, 0);holder.unlockCanvasAndPost(canvas);
第一行,锁定Surface用于渲染并返回一个可用的Canvas
第二行,解锁Surface并确保通过Canvas进行绘制的内容可显示到屏幕上
例子:
import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.graphics.Canvas;import android.view.Menu;import android.view.SurfaceHolder;import android.view.SurfaceView;public class MainActivity extends Activity { FastRenderView renderView; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); renderView = new FastRenderView(this); setContentView(renderView); } protected void onResume() {//重载 super.onResume(); renderView.resume(); } class FastRenderView extends SurfaceView implements Runnable { Thread renderThread = null; SurfaceHolder holder = null; volatile boolean running = false; public FastRenderView(Context context) { super(context); holder = getHolder(); } public void resume()//自定义 { running = true; renderThread.start(); } public void run() { while(running) { if(!holder.getSurface().isValid()) continue; Canvas canvas = holder.lockCanvas(); canvas.drawRGB(255, 0, 0); holder.unlockCanvasAndPost(canvas); } } public void pause()//自定义 { running = false; while(true) { try { renderThread.join(); } catch (InterruptedException e) { e.printStackTrace(); } } } }}
0 0
- SurfaceView 连续渲染 SurfaceHolder Canvas
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack
- SurfaceView,SurfaceHolder
- 图形绘制: Canvas、SurfaceView、Paint、Surface、SurfaceHolder、Bitmap
- SurfaceView中draw(Canvas canvas)
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack用法!
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack知识
- SurfaceView、SurfaceHolder及SurfaceHolder.Callback
- surfaceview 和surfaceholder
- 剖析SurfaceView ,Callback,SurfaceHolder
- surfaceview 和surfaceholder
- surfaceview 和surfaceholder
- Android-SurfaceView与SurfaceHolder
- SurfaceView之SurfaceHolder
- SurfaceView和SurfaceHolder
- java之yield(),sleep(),wait()区别详解
- 堆排序
- Android 选项菜单
- Android 上下文菜单
- Android 设置全屏,画图,加载位图
- SurfaceView 连续渲染 SurfaceHolder Canvas
- DialogFragment
- 本地Service
- Service的生命周期
- Activity 之间的交互
- 单件模式Singleton Pattern
- 命令模式
- Android   Intent 的几种启动活动的方式
- 数组与指针的区别