在Android开发中,我们经常使用到GridView控件,并且需要禁止GridView上下滑动,但是,Android并没有提供对应的API来禁止GridView上下滑动,也没有在XML布局文件中提供对应的属性来禁止GridView上下滑动。
这如何是好呢,我们可以这样做:重写GridView的dispatchTouchEvent()方法:
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.GridView;
/**
* 自定义上下不滚动的GridView
*/
public class CustomeGridView extends GridView {
public CustomeGridView(Context context, AttributeSet attrs) {
super(context, attrs);
}
/**
* 设置上下不滚动
*/
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if(ev.getAction() == MotionEvent.ACTION_MOVE){
return true;//true:禁止滚动
}
return super.dispatchTouchEvent(ev);
}
}