List of usage examples for android.support.v4.widget NestedScrollView scrollTo
public void scrollTo(int paramInt1, int paramInt2)
From source file:com.zzc.androidtrain.view.refresh.Utils.java
public static boolean syncOffset(SmoothAppBarLayout smoothAppBarLayout, View target, int verticalOffset, View scroll) {//from www . ja v a 2 s . co m boolean isSelected = target == scroll; if (scroll instanceof NestedScrollView) { NestedScrollView nestedScrollView = (NestedScrollView) scroll; if (nestedScrollView.getScrollY() < verticalOffset || (!isSelected && isScrollToTop(target))) { nestedScrollView.scrollTo(0, verticalOffset); } if (isSelected && (nestedScrollView.getScrollY() < verticalOffset || verticalOffset == 0)) { nestedScrollView.scrollTo(0, 0); smoothAppBarLayout.syncOffset(0); } } else if (scroll instanceof RecyclerView) { RecyclerView recyclerView = (RecyclerView) scroll; boolean isAccuracy = recyclerView.getLayoutManager() .findViewByPosition(ObservableRecyclerView.HEADER_VIEW_POSITION) != null; if (isAccuracy && recyclerView.computeVerticalScrollOffset() < verticalOffset) { recyclerView.scrollBy(0, verticalOffset - recyclerView.computeVerticalScrollOffset()); } else if (!isSelected && isScrollToTop(target)) { recyclerView.scrollToPosition(ObservableRecyclerView.HEADER_VIEW_POSITION); } if (isAccuracy && isSelected && (recyclerView.computeVerticalScrollOffset() < verticalOffset || verticalOffset == 0)) { recyclerView.scrollToPosition(ObservableRecyclerView.HEADER_VIEW_POSITION); smoothAppBarLayout.syncOffset(0); } } return true; }