我正在尝试创建自定义图库以禁用滚动。我从这里得到了以下内容:how to disable gallery view scrolling
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);
}
}
似乎没有用。我做错了什么?
答案 0 :(得分:2)
请注意示例中的if (isSelected())
子句,您可能希望省略它并无条件地返回true
,完全避免继承实现。
覆盖onFling
可防止翻转,但不会影响常规滚动,手指向下。为此,请尝试覆盖onScroll
并立即从那里返回true。
如果这也不起作用,您还可以覆盖onTouchEvent
并过滤那里的触摸事件。
答案 1 :(得分: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);
}
}
}