Android 如何禁用滚动视图的弹出
我想禁用scrollview的fling手势,但它似乎不起作用。。我认为创建一个扩展scrollview的基本类和重写Android 如何禁用滚动视图的弹出,android,android-scrollview,Android,Android Scrollview,我想禁用scrollview的fling手势,但它似乎不起作用。。我认为创建一个扩展scrollview的基本类和重写onFling方法一样简单。但是eclipse给了我一个删除@Override的错误: 有没有办法禁用fling public class ScrollViewNoFling extends ScrollView { /** * @param context * @param attrs * @param defStyle */
onFling
方法一样简单。但是eclipse给了我一个删除@Override的错误:
有没有办法禁用fling
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;
}
}
我认为应该是放纵而不是放纵。
请参考官方除了使用
fling()
而不是onFling()
,您还需要注意返回值
根据以下文件:
返回
如果事件已消耗,则为true,否则为false
如果要捕获事件而不执行任何操作,请返回true。否则,事件将被传递到其他方法/类以尝试处理它。我用Override fling方法解决了同样的问题。如果您在ScrollViewNoFling类上重写fling方法,并且没有在此方法上调用super.fling,那么fling将无法处理scrollView
@Override
public void fling (int velocityY)
{
/*Scroll view is no longer gonna handle scroll velocity.
* super.fling(velocityY);
*/
}
还要注意,onFling()
是的一部分。这是一种有效的方法,但在这种情况下不是。