由于android没有提供直接禁止Gridview滑动的API,也没有提供相应的属性来在XML布局文件中直接禁止滑动,当咱们作菜单时要禁止Gridview上下滑动怎么办呢?一、自定义一个Gridview
二、经过从新dispatchTouchEvent方法来禁止滑动
public class GrapeGridview extends GridView {
public GrapeGridview(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public GrapeGridview(Context context, AttributeSet attrs){
super(context, attrs);
// TODO Auto-generated constructor stub
}
public GrapeGridview(Context context, AttributeSet attrs, intdefStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}
//经过从新dispatchTouchEvent方法来禁止滑动
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
if(ev.getAction() == MotionEvent.ACTION_MOVE){
returntrue;//禁止Gridview进行滑动
}
return super.dispatchTouchEvent(ev);
}
}
三、在xml布局中引用时记得写上本身的定义的gridview全路径名称
如:
<com.wjq.menu.GrapeGridviewandroid:id="@+id/gridview"
android:layout_width="fill_parent"android:layout_height="fill_parent"
android:numColumns="4" android:verticalSpacing="10dip"
android:horizontalSpacing="10dip"android:stretchMode="columnWidth"
android:gravity="center" />