作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个列表项,每个列表项中都有一个 HorizontalScrollView。因此,我应该能够上下滑动列表并水平滑动列表项。 (例如 Pulse News 应用程序)。
我遇到的是,每当我滚动 HorizontalScrollView 时,ListView 也会滚动一点点,但在用户体验方面会产生恼人的干扰。
所以,我实际上是在考虑继承 ListView 并实现我自己的 ListView 小部件。但是,我不知道要覆盖哪种方法,以便我可以增加 X 容差并阻止 ListView 产生这些不需要的闪烁。
最佳答案
gestureDetector = new GestureDetector(new YScrollDetector());
public boolean onInterceptTouchEvent(MotionEvent ev) {
//Call super first because it does some hidden motion event handling
boolean result = super.onInterceptTouchEvent(ev);
//Now see if we are scrolling vertically with the custom gesture detector
if (gestureDetector.onTouchEvent(ev)) {
return result;
}
//If not scrolling vertically (more y than x), don't hijack the event.
else {
return false;
}
}
// Return false if we're scrolling in the x direction
class YScrollDetector extends SimpleOnGestureListener {
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
try {
if (Math.abs(distanceY) > Math.abs(distanceX)) {
return true;
} else {
return false;
}
} catch (Exception e) {
// nothing
}
return false;
}
}
这会帮助你,你必须在你创建的自定义 ListView 中覆盖这些,我用它来消除我的应用程序中的问题。希望这可以帮助。
关于Android ListView 容忍度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7339558/
我有一个列表项,每个列表项中都有一个 HorizontalScrollView。因此,我应该能够上下滑动列表并水平滑动列表项。 (例如 Pulse News 应用程序)。 我遇到的是,每当我滚动
我是一名优秀的程序员,十分优秀!