Android Open Source - Common-Library Direction Scroll View From Project Back to project page Common-Library .
License The source code is released under:
Apache License
If you think the Android project Common-Library listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.morgan.library.widget;
/ * w w w . j a v a 2 s . c o m * /
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.ScrollView;
/**
* ????????????????????{@link #mOnDirectionChangeListener}?????ScrollView
*
* @author Morgan.Ji
*
*/
public class DirectionScrollView extends ScrollView {
public static final int DIRECTION_NONE = 0;
public static final int DIRECTION_UP = 1;
public static final int DIRECTION_DOWN = 2;
private OnScrollDirectionChangeListener mOnDirectionChangeListener;
private boolean mRecord = false;
public DirectionScrollView(Context context, AttributeSet attrs, int defStyle) {
super (context, attrs, defStyle);
}
public DirectionScrollView(Context context) {
super (context);
}
public DirectionScrollView(Context context, AttributeSet attrs) {
super (context, attrs);
}
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);
if (null != mOnDirectionChangeListener && mRecord) {
if (t > oldt) {
mOnDirectionChangeListener.onDirectionChange(DIRECTION_DOWN);
} else if (t < oldt) {
mOnDirectionChangeListener.onDirectionChange(DIRECTION_UP);
} else {
mOnDirectionChangeListener.onDirectionChange(DIRECTION_NONE);
}
}
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
mRecord = true;
break ;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
mRecord = false;
break ;
default :
break ;
}
return super.onInterceptTouchEvent(ev);
}
public OnScrollDirectionChangeListener getOnScrollDirectionChangeListener() {
return mOnDirectionChangeListener;
}
public void setOnScrollDirectionChangeListener(
OnScrollDirectionChangeListener mScrollDirectionChangeListener) {
this.mOnDirectionChangeListener = mScrollDirectionChangeListener;
}
public boolean isRecord() {
return mRecord;
}
public void setRecord(boolean mRecord) {
this.mRecord = mRecord;
}
public interface OnScrollDirectionChangeListener {
public void onDirectionChange(int direction);
}
}
Java Source Code List com.morgan.library.app.APPContext.java com.morgan.library.app.AppManager.java com.morgan.library.app.BaseActivity.java com.morgan.library.app.BaseFragmentActivity.java com.morgan.library.app.BaseListActivity.java com.morgan.library.app.BaseScreenShotActivity.java com.morgan.library.app.CommonApplication.java com.morgan.library.async.CustomAsyncTask.java com.morgan.library.async.Destroyable.java com.morgan.library.async.IFeedback.java com.morgan.library.async.TaskManager.java com.morgan.library.model.NetResult.java com.morgan.library.model.SpinnerItem.java com.morgan.library.model.WeatherType.java com.morgan.library.model.Weather.java com.morgan.library.net.ApiClient.java com.morgan.library.net.ApiManager.java com.morgan.library.net.ApiUrl.java com.morgan.library.net.IApiClient.java com.morgan.library.net.JsonUtils.java com.morgan.library.net.MockApiClient.java com.morgan.library.service.LocationManager.java com.morgan.library.service.WeatherManager.java com.morgan.library.snippet.CookieShare.java com.morgan.library.snippet.CustomService.java com.morgan.library.snippet.ExceptionCatcher.java com.morgan.library.snippet.ProxyUsage.java com.morgan.library.snippet.SocketClient.java com.morgan.library.snippet.SocketServer.java com.morgan.library.snippet.UDPClient.java com.morgan.library.snippet.UDPServer.java com.morgan.library.snippet.XMLAnalyze.java com.morgan.library.task.GetWeatherTask.java com.morgan.library.utils.AppUtils.java com.morgan.library.utils.DateUtils.java com.morgan.library.utils.DensityUtils.java com.morgan.library.utils.FileUtils.java com.morgan.library.utils.GB2Alpha.java com.morgan.library.utils.HttpClientUtil.java com.morgan.library.utils.HttpClientUtils.java com.morgan.library.utils.HttpURLUtil.java com.morgan.library.utils.ImageUtils.java com.morgan.library.utils.KeyBoardUtils.java com.morgan.library.utils.LocationUtils.java com.morgan.library.utils.Logger.java com.morgan.library.utils.NetUtils.java com.morgan.library.utils.PhoneUtils.java com.morgan.library.utils.SDCardUtils.java com.morgan.library.utils.StrUtils.java com.morgan.library.widget.AutoHideMenuWidget.java com.morgan.library.widget.BadgeView.java com.morgan.library.widget.CityPickerWidget.java com.morgan.library.widget.CustomGridView.java com.morgan.library.widget.CustomListView.java com.morgan.library.widget.CustomToast.java com.morgan.library.widget.CustomViewPager.java com.morgan.library.widget.DatePickerWidget.java com.morgan.library.widget.DirectionScrollView.java com.morgan.library.widget.FallBallView.java com.morgan.library.widget.HeightPickerWidget.java com.morgan.library.widget.InterceptPressLayout.java com.morgan.library.widget.ItalicTextView.java com.morgan.library.widget.PopupMenuWidget.java com.morgan.library.widget.PullToRefreshListView.java com.morgan.library.widget.ScreenShotView.java com.morgan.library.widget.SexPickerWidget.java com.morgan.library.widget.SlideUpOpenWidget.java com.morgan.library.widget.SwipeListView.java com.morgan.library.widget.TimePickerWidget.java com.morgan.library.widget.TouchZoomImageView.java com.morgan.library.widget.WaitScreenWidget.java com.morgan.library.widget.WebViewDialog.java com.morgan.library.widget.WeightPickerWidget.java com.morgan.library.widget.calendar.CalendarGridView.java com.morgan.library.widget.calendar.CalendarScrollView.java com.morgan.library.widget.calendar.CalendarViewFlipper.java com.morgan.library.widget.calendar.CalendarWidget.java com.morgan.library.widget.numberpicker.NumberPicker.java com.morgan.library.widget.numberpicker.Scroller.java com.morgan.library.widget.slidemenu.ScrollDetectorFactory.java com.morgan.library.widget.slidemenu.ScrollDetectors.java com.morgan.library.widget.slidemenu.SlideMenu.java