Android 基于surfaceView绘制正弦曲线
2016-07-07 16:00
483 查看
package com.example.sufaceviewpractice; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; import android.view.SurfaceHolder; import android.view.SurfaceView; public class SufaceViewDemo extends SurfaceView implements Runnable,SurfaceHolder.Callback{ private SurfaceHolder mHolder; private Canvas mCanvas; private boolean mIsDrawing; private int x=1; private int y; private Path mPath; private Paint mPaint; public SufaceViewDemo(Context context) { super(context); initView(); } private void initView() { mHolder=getHolder(); mHolder.addCallback(this); //注册surfaceHolder的回调方法 setFocusable( true); setFocusableInTouchMode(true); this.setKeepScreenOn(true); } //call back 需要实现的方法 @Override public void surfaceCreated(SurfaceHolder holder) { mIsDrawing=true; new Thread(this).start(); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } @Override public void surfaceDestroyed(SurfaceHolder holder) { mIsDrawing=false; } @Override public void run() { while(mIsDrawing){ draw(); x+=1; y=(int)(100*Math.sin(x*2*Math.PI/180)+400); mPath.lineTo(x, y); } } public void draw(){ try { mCanvas=mHolder.lockCanvas(); mCanvas.drawColor(Color.WHITE); mCanvas.drawPath(mPath, mPaint); } catch (Exception e) { }finally{ if (mCanvas!=null){ mHolder.unlockCanvasAndPost(mCanvas); } } } }
相关文章推荐
- Android菜鸟学步之AIDL
- android之selector- 按钮之类的变色
- android判断应用是否有某个权限
- 使用沉浸式实现全屏模式
- Android社交系统
- Android 代码崩溃异常收集整理
- Android ViewPager切换之PageTransformer接口中transformPage方法position参数使用详解
- Android Studio打开项目时停留在任务栏,不能显示出来的问题解决办法
- (OK)(OK) seem-tools_4_vbox-init-android-x86_64-6.0-rc1-0.sh
- Android那些事
- android studio 生成全局变量的快捷键
- 详解 Android 是如何启动的
- android中的广播Broadcast
- Android属性动画实现布局的下拉展开
- Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题
- Android 开发笔记(1)-像素的单位
- Android 开发笔记(1)-像素的单位
- Android 开发笔记(1)-像素的单位
- Android 开发笔记(1)-像素的单位
- Android 可拖拽的GridView效果实现, 长按可拖拽和item实时交换