作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个安卓应用程序。我有四个屏幕,每个屏幕都包含一个 ListView 。我的要求是,当用户水平翻转时,它应该更改 ui 屏幕,当用户垂直翻转时,它应该滚动列表。我的代码是
public boolean dispatchTouchEvent(MotionEvent event)
{
System.out.println("22");
int eventaction=event.getAction();
switch(eventaction)
{
case (MotionEvent.ACTION_MOVE):
System.out.println("move");
a=1;
break;
case MotionEvent.ACTION_UP:
System.out.println("up");
if(a==1)
{
view1.setAnimation(AnimationUtils.loadAnimation(this, R.anim.slide_left));
view1.showNext();
}
a=0;
break;
default:
break;
}
return super.dispatchTouchEvent(event);
}
最佳答案
我有一个类似的问题, children 正在吃掉所有的滚动事件。我最终覆盖了父级中的 onInterceptTouchEvent
以检测它是水平滑动还是垂直滑动并相应地采取行动。你会想要这样的东西
@Override
public boolean onInterceptTouchEvent (MotionEvent ev){
if(horizontalSwipe(ev)){
return true;
}
else
return false;
}
如果新的运动事件构成水平运动事件,你有一些功能可以根据你的历史来确定。
关于android - 如何在android中为水平和垂直定义单独的触摸事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11071380/
我是一名优秀的程序员,十分优秀!