Anddroid如何禁止Gridview上下滑动

来源:互联网 发布:纽约大学商学院知乎 编辑:程序博客网 时间:2024/05/16 04:52
因为android没有提供直接禁止Gridview滑动的API,也没有提供相应的属性来在XML布局文件中直接禁止滑动,当我们做菜单时要禁止Gridview上下滑动怎么办呢?
1、自定义一个Gridview
2、通过重新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, int defStyle) {
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){
           return true;//禁止Gridview进行滑动
       }
return super.dispatchTouchEvent(ev);
}
}

3、在xml布局中引用时记得写上自己的定义的gridview全路径名称
如:
<com.wjq.menu.GrapeGridview android: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" />
本人欢迎转载:但是请注明原文地址:http://blog.sina.com.cn/s/blog_4a4f9fb50100tyfk.html
原创粉丝点击