首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用scrollView的fling

如何禁用scrollView的fling
EN

Stack Overflow用户
提问于 2012-08-29 22:24:14
回答 3查看 6.9K关注 0票数 6

我想禁用滚动视图的翻转手势,但它似乎不起作用。我认为这和创建一个扩展scrollview和@Overriding onFling方法的基本类一样简单。但是eclipse给了我一个删除@Override的错误:

有没有什么办法来禁止放浪?

代码语言:javascript
复制
public class ScrollViewNoFling extends ScrollView {

    /**
     * @param context
     * @param attrs
     * @param defStyle
     */
    public ScrollViewNoFling(Context context) {

        super(context);
        // TODO Auto-generated constructor stub
    }
    public ScrollViewNoFling(Context context, AttributeSet attrs) {

        super(context, attrs);
        // TODO Auto-generated constructor stub
    }
    public ScrollViewNoFling(Context context, AttributeSet attrs, int defStyle) {

        super(context, attrs, defStyle);
        // TODO Auto-generated constructor stub
    }

   @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
    {
        return false;
    }

}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-10 19:20:51

我用Override fling方法解决了同样的问题。如果你在你的ScrollViewNoFling类上覆盖了fling方法,并且没有在这个方法上调用super.fling,那么你就会有一个未被fling处理的scrollView。

代码语言:javascript
复制
@Override
public void fling (int velocityY)
{
    /*Scroll view is no longer gonna handle scroll velocity.
     * super.fling(velocityY);
    */
}
票数 17
EN

Stack Overflow用户

发布于 2012-08-29 22:27:15

我认为应该是fling而不是onFling。请参考官方documentation

票数 0
EN

Stack Overflow用户

发布于 2012-08-29 22:33:46

除了使用fling()而不是onFling()之外,还需要注意返回值。

根据onFling()的文档

返回

如果事件被使用,则为true,否则为false

如果您想捕获事件而不执行任何操作,则返回true。否则,该事件将被传递到其他方法/类以尝试处理它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12180200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档