毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 移动平台 >> 正文

获触屏的ACTION_DOWN及 ACTION_UP操作点击很快的时候(类似双击)不正常

更新时间:2013-7-20:  来源:毕业论文

获触屏的ACTION_DOWN及 ACTION_UP操作点击很快的时候(类似双击)不正常

一个按钮,捕获触屏的ACTION_DOWN及 ACTION_UP操作,在down时给按钮设置一高亮背景图,在up时设置一灰置背景图,为什么点击很快的时候(类似双击)不正常?  结果为一直显示高亮背景图, 为什么啊???

case R.id.ptz_down_btn:
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:// 屏幕按下
Log.e("11111111111 ", "11111111111");
                                                down_btn.setBackgroundDrawable(this.getResources().getDrawable(
                      R.drawable.ptz_down_focus));// 按键按下时高亮显示背景图,在点击抬起时再置灰;
break;
case MotionEvent.ACTION_UP:// 按下抬起
Log.e("22222 ", "2222222222222");
down_btn.setBackgroundDrawable(this.getResources()
                            .getDrawable(R.drawable.ptz_down_blur));// 按键按下时高亮显示背景图,在点击抬起时再置灰;
break;
}
break;

 

正常点击结果:
111111
2222222

点击很快的时候:
11111
2222222
11111
R.id.ptz_down_btn 是一个按钮吧, 你为什么要用event.getAction() 去做触摸判断?
为什么不用

Java code?button.setOnClickListener(new OnClickListener() {             @Override            public void onClick(View v) {                 //在这里就看以感应到按钮被按下时间             }         });


如果你真想用event.getAction()

应该是重写父类onTouchEvent方法


Java code?//在这里在判断被按下!!!     @Override    public boolean onTouchEvent(MotionEvent event) {         // 获得触摸的坐标         int x = (int) event.getX();         int y = (int) event.getY();         switch (event.getAction()) {         // 触摸屏幕时刻         case MotionEvent.ACTION_DOWN:             UpdateTouchEvent(x, y);             break;         // 触摸并移动时刻         case MotionEvent.ACTION_MOVE:             break;         // 终止触摸时刻         case MotionEvent.ACTION_UP:             break;         }         return super.onTouchEvent(event);     } 
监听一下MotionEvent.ACTION_CANCEL试一下

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。