Java Code Examples for android.view.View#scrollBy()

The following examples show how to use android.view.View#scrollBy() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: UDView.java    From VideoOS-Android-SDK with GNU General Public License v3.0 5 votes vote down vote up
/**
 * 滚动dx, dy
 *
 * @param dx
 * @param dy
 * @return
 */
public UDView scrollBy(int dx, int dy) {
    View view = getView();
    if (view != null) {
        view.scrollBy(dx, dy);
    }
    return this;
}
 
Example 2
Source File: HorizontalScrollCompat.java    From SmoothRefreshLayout with MIT License 5 votes vote down vote up
public static boolean scrollCompat(View view, float deltaY) {
    if (view instanceof WebView
            || view instanceof HorizontalScrollView
            || ViewCatcherUtil.isRecyclerView(view)) {
        view.scrollBy((int) deltaY, 0);
        return true;
    }
    return false;
}
 
Example 3
Source File: ScrollingUtil.java    From AgentWebX5 with Apache License 2.0 5 votes vote down vote up
public static void scrollAViewBy(View view, int height) {
    if (view instanceof RecyclerView) ((RecyclerView) view).scrollBy(0, height);
    else if (view instanceof ScrollView) ((ScrollView) view).smoothScrollBy(0, height);
    else if (view instanceof AbsListView) ((AbsListView) view).smoothScrollBy(height, 0);
    else {
        try {
            Method method = view.getClass().getDeclaredMethod("smoothScrollBy", Integer.class, Integer.class);
            method.invoke(view, 0, height);
        } catch (Exception e) {
            view.scrollBy(0, height);
        }
    }
}
 
Example 4
Source File: ScrollingUtil.java    From TwinklingRefreshLayout with Apache License 2.0 5 votes vote down vote up
public static void scrollAViewBy(View view, int height) {
    if (view instanceof RecyclerView) ((RecyclerView) view).scrollBy(0, height);
    else if (view instanceof ScrollView) ((ScrollView) view).smoothScrollBy(0, height);
    else if (view instanceof AbsListView) ((AbsListView) view).smoothScrollBy(height, 0);
    else {
        try {
            Method method = view.getClass().getDeclaredMethod("smoothScrollBy", Integer.class, Integer.class);
            method.invoke(view, 0, height);
        } catch (Exception e) {
            view.scrollBy(0, height);
        }
    }
}
 
Example 5
Source File: CallIncomingAnswerButton.java    From linphone-android with GNU General Public License v3.0 5 votes vote down vote up
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
    if (mUseSliderMode) {
        float curX;
        switch (motionEvent.getAction()) {
            case MotionEvent.ACTION_DOWN:
                mDeclineButton.setVisibility(View.GONE);
                mAnswerX = motionEvent.getX() - mRoot.getWidth();
                mBegin = true;
                mOldSize = 0;
                break;
            case MotionEvent.ACTION_MOVE:
                curX = motionEvent.getX() - mRoot.getWidth();
                view.scrollBy((int) (mAnswerX - curX), view.getScrollY());
                mOldSize -= mAnswerX - curX;
                mAnswerX = curX;
                if (mOldSize < -25) mBegin = false;
                if (curX < (mScreenWidth / 4) - mRoot.getWidth() && !mBegin) {
                    performClick();
                    return true;
                }
                break;
            case MotionEvent.ACTION_UP:
                mDeclineButton.setVisibility(View.VISIBLE);
                view.scrollTo(0, view.getScrollY());
                break;
        }
        return true;
    }
    return false;
}
 
Example 6
Source File: CallIncomingDeclineButton.java    From linphone-android with GNU General Public License v3.0 5 votes vote down vote up
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
    if (mUseSliderMode) {
        float curX;
        switch (motionEvent.getAction()) {
            case MotionEvent.ACTION_DOWN:
                mAnswerButton.setVisibility(View.GONE);
                mDeclineX = motionEvent.getX();
                break;
            case MotionEvent.ACTION_MOVE:
                curX = motionEvent.getX();
                view.scrollBy((int) (mDeclineX - curX), view.getScrollY());
                mDeclineX = curX;
                if (curX > (3 * mScreenWidth / 4)) {
                    performClick();
                    return true;
                }
                break;
            case MotionEvent.ACTION_UP:
                mAnswerButton.setVisibility(View.VISIBLE);
                view.scrollTo(0, view.getScrollY());
                break;
        }
        return true;
    }
    return false;
}
 
Example 7
Source File: ScrollCompat.java    From SmoothRefreshLayout with MIT License 4 votes vote down vote up
public static boolean scrollCompat(View view, float deltaY) {
    if (view != null) {
        if (view instanceof AbsListView) {
            final AbsListView absListView = (AbsListView) view;
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                absListView.scrollListBy((int) deltaY);
            } else if (absListView instanceof ListView) {
                // {@link android.support.v4.widget.ListViewCompat#scrollListBy(ListView,
                // int)}
                final ListView listView = (ListView) absListView;
                final int firstPosition = listView.getFirstVisiblePosition();
                if (firstPosition == ListView.INVALID_POSITION) {
                    return false;
                }
                final View firstView = listView.getChildAt(0);
                if (firstView == null) {
                    return false;
                }
                final int newTop = (int) (firstView.getTop() - deltaY);
                listView.setSelectionFromTop(firstPosition, newTop);
            } else {
                absListView.smoothScrollBy((int) deltaY, 0);
            }
            return true;
        } else if (view instanceof WebView
                || view instanceof ScrollView
                || view instanceof NestedScrollView) {
            view.scrollBy(0, (int) deltaY);
            return true;
        } else if (ViewCatcherUtil.isRecyclerView(view)) {
            RecyclerView recyclerView = (RecyclerView) view;
            if (!(recyclerView.getOnFlingListener() instanceof PagerSnapHelper)) {
                // Fix the problem of adding new data to RecyclerView while in Fling state,
                // the new items will continue to Fling
                if (recyclerView.getScrollState() == RecyclerView.SCROLL_STATE_SETTLING) {
                    recyclerView.stopScroll();
                }
                view.scrollBy(0, (int) deltaY);
            }
            return true;
        }
    }
    return false;
}
 
Example 8
Source File: ViewUtils.java    From DevUtils with Apache License 2.0 2 votes vote down vote up
/**
 * View 内部滚动位置 - 相对于上次移动的最后位置移动
 * <pre>
 *     无滚动过程
 * </pre>
 * @param view {@link View}
 * @param x    X 轴开始坐标
 * @param y    Y 轴开始坐标
 * @return {@link View}
 */
public static View scrollBy(final View view, final int x, final int y) {
    if (view != null) view.scrollBy(x, y);
    return view;
}