安卓自定义相册禁用滚动功能

5

我正在尝试创建一个自定义的相册来禁用滚动。我从这里得到了以下内容:如何禁用相册视图滚动

 public class MyGallery extends Gallery{


public MyGallery(Context context, AttributeSet attrs) {
    super(context, attrs);
}

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY){
    if (isSelected())
        return true;
    else return super.onFling(e1, e2, velocityX, velocityY);
    }

}

看起来好像不起作用。我做错了什么吗?

2个回答

2
请注意例子中的if (isSelected())条件语句,您可能希望省略它并无条件返回true,从而完全避免继承实现。
重写onFling可以防止快速滑动,但不会影响手指按下时的常规滚动。要做到这一点,请尝试还重写onScroll,并立即从那里返回true。
如果这样仍然不起作用,您还可以重写onTouchEvent并在那里过滤触摸事件。

0

我在LinearLayout中使用了CustomListview,并使用以下代码禁用了滚动

public void enableDisableView(View view, boolean enabled) {
        view.setEnabled(enabled);

        if ( view instanceof ViewGroup ) {
            ViewGroup group = (ViewGroup)view;

            for ( int idx = 0 ; idx < group.getChildCount() ; idx++ ) {
                enableDisableView(group.getChildAt(idx), enabled);
            }
        }
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接