由於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" />