博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SurfaceView双缓冲技术引入
阅读量:5103 次
发布时间:2019-06-13

本文共 1980 字,大约阅读时间需要 6 分钟。

package com.loaderman.customviewdemo;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.view.SurfaceHolder;import android.view.SurfaceView;public class DoubleBufferingTextView extends SurfaceView {    private Paint mPaint;    public DoubleBufferingTextView(Context context) {        super(context);        init();    }    public DoubleBufferingTextView(Context context, AttributeSet attrs) {        super(context, attrs);        init();    }    public DoubleBufferingTextView(Context context, AttributeSet attrs, int defStyle) {        super(context, attrs, defStyle);        init();    }    private void init() {        mPaint = new Paint();        mPaint.setColor(Color.RED);        mPaint.setTextSize(30);        getHolder().addCallback(new SurfaceHolder.Callback() {            @Override            public void surfaceCreated(SurfaceHolder holder) {                drawText(holder);            }            @Override            public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {            }            @Override            public void surfaceDestroyed(SurfaceHolder holder) {            }        });    }    private void drawText(final SurfaceHolder holder) {        new Thread(new Runnable() {            @Override            public void run() {                for (int i = 0; i < 10; i++) {                    Canvas canvas = holder.lockCanvas();                    if (canvas != null) {                        canvas.drawText(i + "", i * 30, 50, mPaint);                    }                    holder.unlockCanvasAndPost(canvas);                    try {                        Thread.sleep(800);                    } catch (Exception e) {                        e.printStackTrace();                    }                }            }        }).start();    }}

效果:

转载于:https://www.cnblogs.com/loaderman/p/10232168.html

你可能感兴趣的文章
miniui中的相关问题
查看>>
获取Android包名和activity名
查看>>
.net 配置加密
查看>>
ajax
查看>>
【分享】华为总裁任正非谈企业管理:正确的方向来自于妥协
查看>>
10.24
查看>>
20140608 科技脉搏 -下半身需求是人类共同需求,有多少人就有多大市场
查看>>
java自学基础、项目实战网站推荐
查看>>
软件包的使用
查看>>
es6 Promise -- 封装
查看>>
linux中启动与终止lnmp的脚本
查看>>
request库的基本使用
查看>>
Linux性能监测工具
查看>>
C语言课程学习的总结
查看>>
BZOJ 1304: [CQOI2009]叶子的染色
查看>>
POJ 2914 Minimum Cut
查看>>
数据库设计的三大范式
查看>>
数组元素的填充与替换、排序和复制
查看>>
gdb中信号的处理[转]
查看>>
学习Javascript闭包(Closure)
查看>>