android:Gesture之 触屏手势识别学习(涂鸦笔记)

 

首先SurfaceView的使用,不能总玩主线程和UI啊 呵呵

 

1 首先建立主界面,设置全屏

 

//隐去电池等图标,输入状态栏的部分

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

//隐去title

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

 

2 接着,建立一个继承自

SurfaceView的类MySurfaceView,     import android.view.SurfaceView;

它实现了Callback接口      import android.view.SurfaceHolder.Callback;

Runnable接口

OnGestureListener接口     import android.view.GestureDetector.OnGestureListener;

OnTouchListener接口     import android.view.View.OnTouchListener;

 

3 定义data member

 

4 定义构造器

 

5 定义surfaceCreated方法。在这个方法中启动线程,获取图片的大小

 

6 定义draw方法

try

LockCanvas

if canvas != null

刷屏

写入图片

设置画笔颜色

画一个矩形

设置字体大小,颜色

根据Vector中的内容写入text

catch

finally unlock

 

7 重写run方法

没100ms,执行一次run方法

 

8 重写onTouch方法

if(v_str != null)

    removeAllElement

return GestureDetector.onTouchEvent();

 

9 重写相关Touch事件

 

OK 这样就算是做完啦。

最后测试时,出现3个错误

1 在mainactivity里的setContentView();里忘了设置 new MySurfaceView(this),还是用的R.layout = =

结果显示helloworld 哈哈

2 在SurfaceView的run()方法里忘了加draw()方法,结果,黑屏……

3 忘了更改切换图片的Flag,结果滑屏幕切换不了图片

 

基本上顺顺利利的搞定这段代码了,接着就是好好消化,学会应用了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值