package com.emop.client.widget; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.View; import com.emop.client.BuildConfig; public class WaterFallHandler extends Handler { private View childView; private WaterFallView waterFallView; public int bottomEdge = 100; public WaterFallHandler(View ls, WaterFallView waterFallView, int bottomEdge) { this.childView = ls; this.waterFallView = waterFallView; this.bottomEdge = bottomEdge; } @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case Constants.HANDLER_WHAT: if (childView.getMeasuredHeight() - bottomEdge <= waterFallView .getScrollY() + waterFallView.getHeight()) { if(BuildConfig.DEBUG){ Log.d(WaterFallView.TAG,"onBottom"+ "childViewHeight->"+childView.getMeasuredHeight() +"waterFallView->" +(waterFallView .getScrollY() + waterFallView.getHeight())); } if (waterFallView.onScrollListener != null) { waterFallView.onScrollListener.onBottom(); } } else if (waterFallView.getScrollY() <= 0) { if (waterFallView.onScrollListener != null) { if(BuildConfig.DEBUG){ Log.d(WaterFallView.TAG, "onTop->" + waterFallView.getScrollY()); } waterFallView.onScrollListener.onTop(); } } else { if (waterFallView.onScrollListener != null) { if(BuildConfig.DEBUG){ Log.d(WaterFallView.TAG, "onScroll"); } waterFallView.onScrollListener.onScroll(); } } break; default: break; } } }