当前位置: 首页>>代码示例>>Java>>正文


Java RecyclerView.computeVerticalScrollOffset方法代码示例

本文整理汇总了Java中android.support.v7.widget.RecyclerView.computeVerticalScrollOffset方法的典型用法代码示例。如果您正苦于以下问题:Java RecyclerView.computeVerticalScrollOffset方法的具体用法?Java RecyclerView.computeVerticalScrollOffset怎么用?Java RecyclerView.computeVerticalScrollOffset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.support.v7.widget.RecyclerView的用法示例。


在下文中一共展示了RecyclerView.computeVerticalScrollOffset方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: canScroll

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
static boolean canScroll(View view) {
    if (view instanceof ScrollView) {
        ScrollView scrollView = (ScrollView) view;
        View child = scrollView.getChildAt(0);
        if (child != null) {
            int childHeight = child.getHeight();
            return scrollView.getHeight() < childHeight + scrollView.getPaddingTop() + scrollView.getPaddingBottom();
        }
        return false;
    } else if (view instanceof RecyclerView) {
        RecyclerView recyclerView = (RecyclerView) view;
        int yOffset = recyclerView.computeVerticalScrollOffset();
        return yOffset != 0;
    }
    return true;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:17,代码来源:Utils.java

示例2: syncOffset

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
public static boolean syncOffset(SmoothAppBarLayout smoothAppBarLayout, View target, int verticalOffset, View scroll) {
  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;
}
 
开发者ID:PacktPublishing,项目名称:Expert-Android-Programming,代码行数:27,代码来源:Utils.java

示例3: onScrolled

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
	if (bubble == null || handle.isSelected())
		return;
	int verticalScrollOffset = recyclerView.computeVerticalScrollOffset();
	int verticalScrollRange = recyclerView.computeVerticalScrollRange();
	float proportion = (float) verticalScrollOffset / ((float) verticalScrollRange - height);
	setBubbleAndHandlePosition(height * proportion);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:10,代码来源:FastScroller.java

示例4: isSlideToBottom

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
/**
 * 判断是否到底部了
 * @param recyclerView
 * @return
 */
protected boolean isSlideToBottom(RecyclerView recyclerView) {
    if (recyclerView == null) return false;
    if(mOrientation == LinearLayoutManager.VERTICAL) {
        if (recyclerView.computeVerticalScrollExtent() + recyclerView.computeVerticalScrollOffset() >= recyclerView.computeVerticalScrollRange())
            return true;
    }
    else
    {
        if (recyclerView.computeHorizontalScrollExtent() + recyclerView.computeHorizontalScrollOffset() >= recyclerView.computeHorizontalScrollRange())
            return true;
    }
    return false;
}
 
开发者ID:wanliyang1990,项目名称:RecyclerViewHeaderAndFooter,代码行数:19,代码来源:WapHeaderAndFooterAdapter.java

示例5: onScrolled

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public void onScrolled(final RecyclerView recyclerView, final int dx, final int dy) {
  if (handle.isSelected()) return;
  final int   offset      = recyclerView.computeVerticalScrollOffset();
  final int   range       = recyclerView.computeVerticalScrollRange();
  final int   extent      = recyclerView.computeVerticalScrollExtent();
  final int   offsetRange = Math.max(range - extent, 1);
  setBubbleAndHandlePosition((float) Util.clamp(offset, 0, offsetRange) / offsetRange);
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:10,代码来源:RecyclerViewFastScroller.java

示例6: isMaxScrollReached

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
static private boolean isMaxScrollReached(RecyclerView recyclerView) {
    int maxScroll = recyclerView.computeVerticalScrollRange();

    int currentScroll = recyclerView.computeVerticalScrollOffset() + recyclerView.computeVerticalScrollExtent();

    android.util.Log.d(TAG, maxScroll + ", " + currentScroll);
    if (maxScroll == 0)
        return false;
    return currentScroll >= maxScroll;
}
 
开发者ID:AppHero2,项目名称:Raffler-Android,代码行数:11,代码来源:ChatFragment.java

示例7: rvPullDownIntercept

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
public boolean rvPullDownIntercept(View child) {
    boolean intercept = false;

    RecyclerView recyclerChild = (RecyclerView) child;
    if (recyclerChild.computeVerticalScrollOffset() <= 0)
        intercept = true;

    return intercept;
}
 
开发者ID:funnyzhaov,项目名称:Tribe,代码行数:10,代码来源:InterceptLayout.java

示例8: rvPullUpIntercept

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
public boolean rvPullUpIntercept(View child) {
    boolean intercept = false;

    RecyclerView recyclerChild = (RecyclerView) child;
    if (recyclerChild.computeVerticalScrollExtent() + recyclerChild.computeVerticalScrollOffset()
            >= recyclerChild.computeVerticalScrollRange())
        intercept = true;

    return intercept;
}
 
开发者ID:funnyzhaov,项目名称:Tribe,代码行数:11,代码来源:InterceptLayout.java

示例9: onScrolled

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
    if (scrollerView.isSelected()) return;
    int verticalScrollOffset = recyclerView.computeVerticalScrollOffset();
    int verticalScrollRange = recyclerView.computeVerticalScrollRange();
    float proportion = (float) verticalScrollOffset / ((float) verticalScrollRange - height);
    setScrollerHeight(height * proportion);
}
 
开发者ID:duyp,项目名称:mvvm-template,代码行数:8,代码来源:RecyclerViewFastScroller.java

示例10: onScrolled

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public final void onScrolled(RecyclerView recyclerView, int dx, int dy)
{
	int toolbarYOffset = (int) (dy - toolbar.getTranslationY());
	
	state.verticalOffset = recyclerView.computeVerticalScrollOffset();
	state.scrollingOffset = dy;
	
	toolbar.animate().cancel();
	if (state.scrollingOffset > 0) 
	{
		if (toolbarYOffset < toolbar.getHeight()) 
		{
			if (state.verticalOffset > toolbar.getHeight()) 
			{
				setElevation(TOOLBAR_ELEVATION);
			}
			toolbar.setTranslationY(state.translationY = -toolbarYOffset);
		} 
		else 
		{
			setElevation(5);
			toolbar.setTranslationY(state.translationY = -toolbar.getHeight());
		}
	} 
	else if (state.scrollingOffset < 0) 
	{
		if (toolbarYOffset < 0)
		{
			if (state.verticalOffset <= 0) 
			{
				setElevation(5);
			}
			toolbar.setTranslationY(state.translationY = 0);
		} 
		else 
		{
			if (state.verticalOffset > toolbar.getHeight()) 
			{
				setElevation(TOOLBAR_ELEVATION);
			}
			toolbar.setTranslationY(state.translationY = -toolbarYOffset);
		}
	}
}
 
开发者ID:MSay2,项目名称:Mire,代码行数:46,代码来源:RecyclerViewUtils.java


注:本文中的android.support.v7.widget.RecyclerView.computeVerticalScrollOffset方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。