surefaceView画图

来源:互联网 发布:ubuntu命令行进入桌面 编辑:程序博客网 时间:2024/06/05 19:47

代码就是一个简单的画了一个三角,想画更多的,自己研究去

package alice.bw.com.surfaceviewdemo;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;/** * @author alice * @version 1.0 * @Date 2017/10/25 11:11 */public class TriangleView extends SurfaceView {    private SurfaceHolder holder;    private MyDrawThread thread;    public TriangleView(Context context) {        super(context);        initView();    }    public TriangleView(Context context, AttributeSet attrs) {        super(context, attrs);        initView();    }    public TriangleView(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);        initView();    }    private void initView() {        holder = getHolder();        thread = new MyDrawThread();        holder.addCallback(new SurfaceHolder.Callback() {            @Override            public void surfaceCreated(SurfaceHolder surfaceHolder) {                thread.start();            }            @Override            public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {            }            @Override            public void surfaceDestroyed(SurfaceHolder surfaceHolder) {            }        });    }    class MyDrawThread extends Thread{        @Override        public void run() {            super.run();            Paint paint = new Paint();            paint.setColor(Color.RED);            paint.setAntiAlias(true);            Canvas canvas = holder.lockCanvas();            canvas.drawColor(Color.BLUE);            canvas.drawLine(200f,0f,0f,200f,paint);            canvas.drawLine(0f,200f,400f,200f,paint);            canvas.drawLine(200f,0f,400f,200f,paint);            holder.unlockCanvasAndPost(canvas);        }    }}
原创粉丝点击