- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 Android onGestureListener 时遇到一些问题,我有 3 个线性布局在线性布局中水平并排放置,线性布局位置设置为中间布局 onCreate,中间布局还包含一个 ListView 内部,我想要发生的是当我向左或向右滑动布局移动时,当我尝试在其中包含 ListView 的线性布局上向左或向右滑动时,这似乎没有拾取手势,但是如果我向右滑动或者留在其他没有任何内容的 View 上,它会拾取手势并且 View 相应地设置动画,有没有人以前遇到过这个问题或者知道如何解决它?任何帮助都会有很长的路要走谢谢
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
return gestureDetector.onTouchEvent(event);
}
SimpleOnGestureListener simpleOnGestureListener = new SimpleOnGestureListener() {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
float sensitvity = 50;
if ((e1.getX() - e2.getX()) > sensitvity) {
slideLeft();
} else if ((e2.getX() - e1.getX()) > sensitvity) {
slideRight();
}
return true;
}
};
private void slideRight() {
if (swipeDirection > -1) {
if (swipeDirection == 0) {
layoutContainer.animate().translationX(theDistance - 0)
.setDuration(500);
} else {
//go to home
layoutContainer.animate().translationX(0).setDuration(500);
}
swipeDirection--;
}
}
private void slideLeft() {
if (swipeDirection < 1) {
if (swipeDirection == 0) {
layoutContainer.animate().translationX(0 - theDistance)
.setDuration(500);
} else {
layoutContainer.animate().translationX(0).setDuration(500);
}
swipeDirection++;
}
}
最佳答案
ListView
本身已经内置了一个手势监听器(用于滚动列表),并且它可能还有一个针对列表中各个项目的 onItemClickListener
。这可能会干扰您对整个布局的滑动行为。
到目前为止,Pinhassi 在这里解释的解决方案对我来说效果最好: Android Swipe on List
您可能需要扩展 ListView 的 onItemClickListener
并包括上面提到的滑动检测器。此外,可能需要将 @Override
放在您声明 onItemClick
的行的前面以覆盖 ListView 监听器。这样,您将保留可点击的列表项,并且可以对它们执行滑动操作。
关于java - 当 View 包含 ListView 时,Android OnGestureListener 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15555990/
我不明白为什么这段代码不显示任何 Toast。我已经实现了 OnGestureListener 接口(interface)并尝试在用户时显示一些 toast 在 Activity 上滑动。这意味着必须
我正在尝试弄清楚如何添加 OnGestureListener 或其他一些方法来检测屏幕上的触摸拖动到按钮或可以添加到 View 的其他一些小部件。一段时间以来,我一直在试图弄清楚如何做到这一点,但我做
这是布局 - 我在 Activity 中实现了 onGestureLi
根据 android training如果您扩展 GestureDetector.SimpleOnGestureListener,并从 onDown(...) 返回 false 而不是 Gesture
我在安卓系统工作。我有一些功能要通过以下方法完成:- 1. MotionEvent.ACTION_DOWN 2. MotionEvent.ACTION_UP 3. MotionEvent.ACTION
我想检测屏幕 block 中的快速运动。我为此使用以下代码。 public class MyinfoActivity extends Activity implements OnGestureList
我的 onScroll 和 onTouchEvent 被调用,但不是 onDown 方法。事实上,当我在 onDown 中记录 distaceX 时,我会注销其中的几个,第一个总是相对于我上次滚动结束
在过去的几个小时里,我一直在崩溃,用 google 搜索了 hell ,但 StackOverflow 或其他地方的例子都没有对我有用,所以就这样吧…… 我有一个自定义 View ,扩展了 Linea
我正在创建一个需要消耗几乎所有手势的 View 。为此,我创建了一个 ScaleGestureDetector 和一个 GestureDetector。我还创建了一个监听器类,并意识到我可以让它实现我
如何在 Android 中使用 OnGestureListener 检测双指缩放事件? 最佳答案 看看 Android 开发者博客上的这篇文章:http://android-developers.bl
如果 GestureDetector.SimpleOnGestureListener 与 GestureDetector.OnGestureListener 执行相同的操作,但不需要未使用的代码,那么
android.view.GestureDetector.OnGestureListener的onFling()和onScroll()事件有什么区别? link text 最佳答案 onScroll(
我已经在我的 Activity 上实现了接口(interface) GestureDetector.OnGestureListener。它在 Android API 32 上运行良好,但在将 Andr
我正在编写简单的代码来检测所有手势,如滑动、滚动等,并打算实现接口(interface) GestureDetector.OnGestureListener用于覆盖它的方法,但我知道同样可以用 Ges
我正在尝试在我的应用程序的页面之间实现滑动。我目前有 5 个 XML 布局文件,我可以从一个 Activity 访问所有这些文件。底部有五个按钮,代表每个布局,按下时切换到相应的 XML 布局。 我曾
我正在尝试检测用户何时在 Activity 中向左或向右 Swing 。目前我正在使用 OnGestureListener 和方法 onFling()我的问题是我没有找到一种很好的检测方法。 我想要一
我在使用 Android onGestureListener 时遇到一些问题,我有 3 个线性布局在线性布局中水平并排放置,线性布局位置设置为中间布局 onCreate,中间布局还包含一个 ListV
我在 Activity 上创建了一个手势 Listener,效果很好: [Activity (Theme = "@android:style/Theme.Holo.Light", Label = "@
在装有 Android 4.0.4 的三星 Galaxy Note 10.1 上,当两根手指放在屏幕上时,GestureDetector 不会触发 OnGestureListener#onScroll
我是一名优秀的程序员,十分优秀!