Example usage for android.view View canScrollVertically

List of usage examples for android.view View canScrollVertically

Introduction

In this page you can find the example usage for android.view View canScrollVertically.

Prototype

public boolean canScrollVertically(int direction) 

Source Link

Document

Check if this view can be scrolled vertically in a certain direction.

Usage

From source file:android.support.wear.widget.drawer.NestedScrollViewFlingWatcher.java

private static boolean isViewAtTopOrBottom(View view) {
    return !view.canScrollVertically(-1 /* up */) || !view.canScrollVertically(1 /* down */);
}

From source file:Main.java

public static boolean canChildScrollUp(View view) {
    if (view instanceof AbsListView) {
        AbsListView absListView = (AbsListView) view;
        Log.d("debug", absListView.getChildAt(0).getTop() + "v2top");
        return absListView.getChildCount() > 0 && (absListView.getFirstVisiblePosition() > 0
                || absListView.getChildAt(0).getTop() < absListView.getPaddingTop());
    }//from   w  w  w  .j a  v  a2  s.c  om
    if (Build.VERSION.SDK_INT < 14) {
        return view.getScrollY() > 0;
    } else {
        return view.canScrollVertically(-1);
    }
}

From source file:com.androidinspain.deskclock.Utils.java

/**
 * @param view the scrollable view to test
 * @return {@code true} iff the {@code view} content is currently scrolled to the top
 *//*from   w  w w. j  av  a2  s  .c  o m*/
public static boolean isScrolledToTop(View view) {
    return !view.canScrollVertically(-1);
}

From source file:us.shandian.blacklight.ui.common.SwipeUpAndDownRefreshLayout.java

public boolean canChildScrollDown() {
    try {//  w  w  w  . j  a v  a 2 s. c  om
        View v = (View) mTarget.get(this);
        return v.canScrollVertically(1);
    } catch (Exception e) {
        return true;
    }
}

From source file:io.plaidapp.core.ui.widget.BottomSheet.java

@Override
public boolean onNestedFling(View target, float velocityX, float velocityY, boolean consumed) {
    if (velocityY <= -SCALED_MIN_FLING_DISMISS_VELOCITY /* flinging downward */
            && !target.canScrollVertically(-1)) { /* nested scrolling child can't scroll up */
        animateSettle(dismissOffset, velocityY);
        return true;
    } else if (velocityY > 0 && !isExpanded()) {
        animateSettle(0, velocityY);//  w ww .  jav  a2  s  . c  om
    }
    return false;
}

From source file:com.amitupadhyay.aboutexample.ui.widget.BottomSheet.java

@Override
public boolean onNestedFling(View target, float velocityX, float velocityY, boolean consumed) {
    if (velocityY <= -MIN_FLING_VELOCITY /* flinging downward */
            && !target.canScrollVertically(-1)) { /* nested scrolling child can't scroll up */
        animateSettle(dismissOffset, velocityY);
        return true;
    } else if (velocityY > 0 && !isExpanded()) {
        animateSettle(0, velocityY);/*from   w w  w.  ja  va 2 s. c om*/
    }
    return false;
}

From source file:com.lovejjfg.blogdemo.ui.BottomSheet.java

@Override
public boolean onNestedFling(View target, float velocityX, float velocityY, boolean consumed) {
    if (velocityY <= -MIN_FLING_VELOCITY /* flinging downward */
            && !target.canScrollVertically(-1)) { /* nested scrolling child can't scroll up */
        animateSettle(dismissOffset, computeSettleDuration(velocityY, true));
        return true;
    } else if (velocityY > 0 && !isExpanded()) {
        animateSettle(0, computeSettleDuration(velocityY, false));
    }//from   w ww  . j ava 2s.c om
    return false;
}

From source file:android.support.wear.widget.drawer.WearableDrawerLayout.java

private boolean canDrawerContentScrollVertically(@Nullable WearableDrawerView drawerView, int direction) {
    if (drawerView == null) {
        return false;
    }//from w w w  .  ja v a  2s  .c o m

    View drawerContent = drawerView.getDrawerContent();
    if (drawerContent == null) {
        return false;
    }

    return drawerContent.canScrollVertically(direction);
}

From source file:android.support.wear.widget.drawer.WearableDrawerLayout.java

@Override
public void onFlingComplete(View view) {
    boolean canTopPeek = mTopDrawerView != null && mTopDrawerView.isAutoPeekEnabled();
    boolean canBottomPeek = mBottomDrawerView != null && mBottomDrawerView.isAutoPeekEnabled();
    boolean canScrollUp = view.canScrollVertically(UP);
    boolean canScrollDown = view.canScrollVertically(DOWN);

    if (canTopPeek && !canScrollUp && !mTopDrawerView.isPeeking()) {
        peekDrawer(Gravity.TOP);//from  w w w .j a  v a 2 s . c om
    }
    if (canBottomPeek && (!canScrollUp || !canScrollDown) && !mBottomDrawerView.isPeeking()) {
        peekDrawer(Gravity.BOTTOM);
    }
}

From source file:wanthavers.mad.cs.fau.de.wanthavers_android.desirelist.DesireListFragment.java

@Nullable
@Override/*from  w w w .  j  av  a  2  s  . c om*/
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    DesirelistFragBinding desirelistFragBinding = DesirelistFragBinding.inflate(inflater, container, false);

    desirelistFragBinding.setDesires(mDesireListViewModel);

    desirelistFragBinding.setPresenter(mPresenter);

    //check for Location Runtime Permissions
    isFineLocationPermissionGranted();

    if (!isGpsEnabled()) {
        showAlert();
    }

    //Set up desire view
    RecyclerView recyclerView = (RecyclerView) desirelistFragBinding.desiresList;

    //to improve performance set the layout size as fixed as it is fixed in our case
    recyclerView.setHasFixedSize(true);
    recyclerView
            .addItemDecoration(new DividerItemDecoration(getContext(), R.drawable.list_divider_mediumdark, 1));

    //use Linear Layout Manager
    RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getContext());
    recyclerView.setLayoutManager(layoutManager);

    mListAdapter = new DesireListAdapter(new ArrayList<DesireItemViewModel>(0), mPresenter,
            mDesireListViewModel, mDesireLogic);

    recyclerView.setAdapter(mListAdapter);

    // Set up floating action button
    FloatingActionButton fabCreateNewDesire = (FloatingActionButton) getActivity()
            .findViewById(R.id.fab_add_desire);

    fabCreateNewDesire.setImageResource(R.drawable.ic_add);
    fabCreateNewDesire.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mPresenter.createNewDesire();
        }
    });

    // Set up progress indicator  TODO decide whether this is needed
    final ScrollChildSwipeRefreshLayout swipeRefreshLayout = desirelistFragBinding.refreshLayout;
    swipeRefreshLayout.setColorSchemeColors(ContextCompat.getColor(getActivity(), R.color.colorPrimary),
            ContextCompat.getColor(getActivity(), R.color.colorAccent),
            ContextCompat.getColor(getActivity(), R.color.colorPrimaryDark));

    swipeRefreshLayout.setScrollUpChild(recyclerView);

    // dynamically load new desires on scroll down
    if (Build.VERSION.SDK_INT >= 23) {
        recyclerView.setOnScrollChangeListener(new RecyclerView.OnScrollChangeListener() {

            @Override
            public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {

                if (!v.canScrollVertically(1)) {
                    mPresenter.loadDesires(true, false, true);
                }
            }
        });
    } else {
        recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);

                if (!recyclerView.canScrollVertically(1)) {
                    mPresenter.loadDesires(true, false, true);
                }
            }
        });
    }

    setHasOptionsMenu(true);

    View root = desirelistFragBinding.getRoot();
    return root;
}