关于GestureOverlayView多笔画时间的问题

关于Android中GestureOverlayView多笔画的问题 
 
前段时间做了个事业单位稽查的项目,客户要求系统支持现场电
子签名,由于做android没多久,这个问题缠绕了我很长时间,现在终于完美解决这个问题了,现在把关键代码贡献给大家.  
此代码关键的位置就在类中的最后面清除的代码,我看到论坛里
很多人询问关于多笔画的问题,关于手势多笔画总是要在很短时间内输入,而不可以相隔很长时间,这是我们要在xml中的
GestureOverlayView中加入android:fadeOffset=”3600000”这段代码,这断代码的含义就是使多笔画每两次的间隔时间延长,3600000是代表毫秒,也就是说这里我让每两次笔画的时间间隔延长了一小时.  
当添加的上面的代码以后,可以解决笔画的间隔问题,但是相应的
clear()清除方法的时间也会变为3600000毫秒,这个很显然是不可行的,所以我们要在清除前加入mGestureOverlayView.setFadeOffset(100); 这段代码的意思就是把每次多笔画的间隔设置为100毫秒,这样很快就能清楚屏幕上的手势了,注意:在清除后我们还要把时间间隔设置为3600000毫秒或者是你想要的时间间隔,这样才能确保下次执行会是3600000毫秒的时间间隔.   
Java类中的代码 
mGestureOverlayView.addOnGestureListener(new OnGestureListener()         {  
 
 
publicvoid onGesture(GestureOverlayView overlay, MotionEvent 
event) { 
























    // TODO Auto-generated method stub 
   } 
    publicvoid onGestureCancelled(GestureOverlayView overlay,      
MotionEvent event) { 
    // TODO Auto-generated method stub 
   } 
    publicvoid onGestureEnded(GestureOverlayView overlay,      
MotionEvent event) { 
    // TODO Auto-generated method stub     mGesture = overlay.getGesture();     if(mGesture!=null)     {      mButton1.setEnabled(true);     } 
   } 
    publicvoid onGestureStarted(GestureOverlayView overlay,      
MotionEvent event) { 
    // TODO Auto-generated method stub     mButton1.setEnabled(false);     mGesture = null;  
 
 

        } 
//保存为图片的代码 
mButton1.setOnClickListener(new OnClickListener()         {    publicvoid onClick(View v) {     // TODO Auto-generated method stub 
    Bitmap bitmap = mGesture.toBitmap(480, 750, 12, Color.RED); 
    //mImageView.setImageBitmap(bitmap);     
 File f = new File("/sdcard/00000.png");   
           FileOutputStream fos = null;      try {   
 
 
 
            fos = new FileOutputStream(f);   
               bitmap.compress(Bitmap.CompressFormat.PNG, 50, fos);              } catch (FileNotFoundException e) {      // TODO Auto-generated catch block                  e.printStackTrace();              }   
 
 



















        }  
//清除的代码 
mButton2.setOnClickListener(new OnClickListener()         {    publicvoid onClick(View v) {     // TODO Auto-generated method stub 
    mGestureOverlayView.setFadeOffset(10);//清除前设置时间间隔缩小 
    mGestureOverlayView.clear(true); 
    mGestureOverlayView.setFadeOffset(3600000);//清楚后恢复时间间隔 
    mButton1.setEnabled(false); 
  
 

        } 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值