在Android开发中,我们经常使用到GridView控件,并且需要禁止GridView上下滑动,但是,Android并没有提供对应的API来禁止GridView上下滑动,也没有在XML布局文件中提供对应的属性来禁止GridView上下滑动。
这如何是好呢,我们可以这样做:重写GridView的dispatchTouchEvent()方法:
<span style="font-size:18px;">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); } }</span>