/**
|
* MyGallery.java
|
* @version 1.0
|
* @author Haven
|
* @createTime 2011-12-9 下午03:42:53
|
* android.widget.Gallery的子函数。此类很重要。建议仔细看
|
*/
|
package com.videogo.widget;
|
|
import android.content.Context;
|
import android.util.AttributeSet;
|
import android.view.MotionEvent;
|
import android.widget.Gallery;
|
|
public class PagesGallery extends Gallery {
|
private static final String TAG = "PagesGallery";
|
|
private boolean setSelection = false;
|
|
public PagesGallery(Context context) {
|
super(context);
|
|
}
|
|
public PagesGallery(Context context, AttributeSet attrs, int defStyle) {
|
super(context, attrs, defStyle);
|
}
|
|
public PagesGallery(Context context, AttributeSet attrs) {
|
super(context, attrs);
|
}
|
|
@Override
|
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
|
if(setSelection) {
|
setSelection = false;
|
return false;
|
}
|
if (distanceX > 50 && this.getSelectedItemPosition() == this.getCount() - 1 && this.getCount() > 1)// 向左滑动
|
{
|
this.setSelection(0);
|
setSelection = true;
|
} else if (distanceX < -50 && this.getSelectedItemPosition() == 0 && this.getCount() > 1)// 向右滑动
|
{
|
this.setSelection(this.getCount() - 1);
|
setSelection = true;
|
} else {
|
super.onScroll(e1, e2, distanceX * 2, distanceY);
|
}
|
return false;
|
}
|
|
@Override
|
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
|
return false;
|
}
|
}
|