[Android] support loadMore for horizontalScrollView (#3025)

demo:http://editor.weex.io/p/lucky-chen/scroler-appear/commit/0b489fe4c8e095ed908577ff1f1f62d8
diff --git a/android/sdk/src/main/java/org/apache/weex/ui/component/WXScroller.java b/android/sdk/src/main/java/org/apache/weex/ui/component/WXScroller.java
index d814eb3..52d5c36 100644
--- a/android/sdk/src/main/java/org/apache/weex/ui/component/WXScroller.java
+++ b/android/sdk/src/main/java/org/apache/weex/ui/component/WXScroller.java
@@ -124,6 +124,7 @@
   private FrameLayout mScrollerView;
 
   private int mContentHeight = 0;
+  private int mContentWidth = 0;
 
   private WXStickyHelper stickyHelper;
   private Handler handler=new Handler(Looper.getMainLooper());
@@ -478,6 +479,7 @@
         @Override
         public void onScrollChanged(WXHorizontalScrollView scrollView, int x, int y, int oldx, int oldy) {
           procAppear(x,y,oldx,oldy);
+          onLoadMore(scrollView,x,y);
         }
       });
       FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(
@@ -970,7 +972,7 @@
    * @param x the X direction
    * @param y the Y direction
    */
-  protected void onLoadMore(WXScrollView scrollView, int x, int y) {
+  protected void onLoadMore(FrameLayout scrollView, int x, int y) {
     try {
       String offset = getAttrs().getLoadMoreOffset();
       if (TextUtils.isEmpty(offset)) {
@@ -978,18 +980,28 @@
       }
       int offsetInt = (int)WXViewUtils.getRealPxByWidth(Float.parseFloat(offset), getInstance().getInstanceViewPortWidth());
 
-      int contentH = scrollView.getChildAt(0).getHeight();
-      int scrollerH = scrollView.getHeight();
-      int offScreenY = contentH - y - scrollerH;
-      if (offScreenY < offsetInt) {
-        if (WXEnvironment.isApkDebugable()) {
-          WXLogUtils.d("[WXScroller-onScroll] offScreenY :" + offScreenY);
-        }
-        if (mContentHeight != contentH || mForceLoadmoreNextTime) {
+      if (scrollView instanceof WXHorizontalScrollView){
+        int contentWidth = scrollView.getChildAt(0).getWidth();
+        int offScreenX =  contentWidth-x-scrollView.getWidth();
+        if (offScreenX < offsetInt && (mContentWidth != contentWidth || mForceLoadmoreNextTime)){
           fireEvent(Constants.Event.LOADMORE);
-          mContentHeight = contentH;
+          mContentWidth=contentWidth;
           mForceLoadmoreNextTime = false;
         }
+      }else {
+        int contentH = scrollView.getChildAt(0).getHeight();
+        int scrollerH = scrollView.getHeight();
+        int offScreenY = contentH - y - scrollerH;
+        if (offScreenY < offsetInt) {
+          if (WXEnvironment.isApkDebugable()) {
+            WXLogUtils.d("[WXScroller-onScroll] offScreenY :" + offScreenY);
+          }
+          if (mContentHeight != contentH || mForceLoadmoreNextTime) {
+            fireEvent(Constants.Event.LOADMORE);
+            mContentHeight = contentH;
+            mForceLoadmoreNextTime = false;
+          }
+        }
       }
     } catch (Exception e) {
       WXLogUtils.d("[WXScroller-onScroll] ", e);