androidx.viewpager2.widget.ViewPager2 Java Examples

The following examples show how to use androidx.viewpager2.widget.ViewPager2. 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: DynamicMotionLayout.java    From dynamic-motion with Apache License 2.0 7 votes vote down vote up
/**
 * Set the page count for the view pager.
 *
 * @param pageCount The page count to be set.
 * @param onPageChangeListener The page change listener to receive page change events.
 */
public void setPageCount(int pageCount,
        @Nullable ViewPager.OnPageChangeListener onPageChangeListener) {
    this.mPageCount = pageCount;

    if (mViewPager == null) {
        addView(LayoutInflater.from(getContext()).inflate(
                R.layout.adm_view_pager, this, false));
        mViewPager = findViewById(R.id.adm_view_pager);
    }

    mViewPager.setAdapter(new ViewPagerAdapter(pageCount));
    mViewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
        @Override
        public void onPageScrolled(int position,
                float positionOffset, int positionOffsetPixels) {
            super.onPageScrolled(position, positionOffset, positionOffsetPixels);

            setProgress((position + positionOffset) / (mPageCount - 1));
        }
    });

    if (mViewPager.getAdapter() != null) {
        mViewPager.getAdapter().notifyDataSetChanged();
    }
}
 
Example #2
Source File: ViewPager2Fragment.java    From CircleIndicator with Apache License 2.0 6 votes vote down vote up
@Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    mAdapter = new SampleRecyclerAdapter(5);

    ViewPager2 viewpager = view.findViewById(R.id.viewpager);
    viewpager.setAdapter(mAdapter);

    // CircleIndicator3 for RecyclerView
    CircleIndicator3 indicator = view.findViewById(R.id.indicator);
    indicator.setViewPager(viewpager);

    // CurrentItem
    viewpager.setCurrentItem(2,false);

    // Observe Data Change
    mAdapter.registerAdapterDataObserver(indicator.getAdapterDataObserver());
    view.findViewById(R.id.add).setOnClickListener(new View.OnClickListener() {
        @Override public void onClick(View v) {
            mAdapter.add();
        }
    });
    view.findViewById(R.id.remove).setOnClickListener(v -> {
        mAdapter.remove();
    });
}
 
Example #3
Source File: DynamicViewPager2Layout.java    From dynamic-support with Apache License 2.0 6 votes vote down vote up
/**
 * Checks whether a child can be scrolled.
 *
 * @param orientation The current orientation of the view.
 * @param delta The delta to check the scrolling.
 *
 * @return Returns {@code true} if a child can be scrolled.
 */
private boolean canChildScroll(int orientation, float delta) {
    if (getChildCount() <= 0) {
        return false;
    }

    int direction = -((int) Math.signum(delta));
    switch (orientation) {
        default:
            throw new IllegalArgumentException();
        case ViewPager2.ORIENTATION_HORIZONTAL:
            return getChildAt(0).canScrollHorizontally(direction);
        case ViewPager2.ORIENTATION_VERTICAL:
            return getChildAt(0).canScrollVertically(direction);
    }
}
 
Example #4
Source File: SpringDotsIndicator.java    From dhis2-android-capture-app with BSD 3-Clause "New" or "Revised" License 6 votes vote down vote up
private void setUpOnPageChangedListener() {
    pageChangeCallback = new ViewPager2.OnPageChangeCallback() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            float globalPositionOffsetPixels = position * (dotsStrokeSize + dotsSpacing * 2) + (dotsStrokeSize + dotsSpacing * 2) * positionOffset;
            float indicatorTranslationX = globalPositionOffsetPixels + horizontalMargin + dotsStrokeWidth - dotIndicatorAdditionalSize / 2f;
            dotIndicatorSpring.getSpring().setFinalPosition(indicatorTranslationX);

            if (!dotIndicatorSpring.isRunning()) {
                dotIndicatorSpring.start();
            }
        }

        @Override
        public void onPageSelected(int position) {
            super.onPageSelected(position);
        }

        @Override
        public void onPageScrollStateChanged(int state) {
            super.onPageScrollStateChanged(state);
        }
    };
}
 
Example #5
Source File: ViewPagerAdapter.java    From journaldev with MIT License 6 votes vote down vote up
ViewHolder(View itemView) {
    super(itemView);
    myTextView = itemView.findViewById(R.id.tvTitle);
    relativeLayout = itemView.findViewById(R.id.container);
    button = itemView.findViewById(R.id.btnToggle);

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {


            if(viewPager2.getOrientation() == ViewPager2.ORIENTATION_VERTICAL)
            viewPager2.setOrientation(ViewPager2.ORIENTATION_HORIZONTAL);
            else{
                viewPager2.setOrientation(ViewPager2.ORIENTATION_VERTICAL);
            }
        }
    });
}
 
Example #6
Source File: CircleIndicator3.java    From CircleIndicator with Apache License 2.0 5 votes vote down vote up
public void setViewPager(@Nullable ViewPager2 viewPager) {
    mViewpager = viewPager;
    if (mViewpager != null && mViewpager.getAdapter() != null) {
        mLastPosition = -1;
        createIndicators();
        mViewpager.unregisterOnPageChangeCallback(mInternalPageChangeCallback);
        mViewpager.registerOnPageChangeCallback(mInternalPageChangeCallback);
        mInternalPageChangeCallback.onPageSelected(mViewpager.getCurrentItem());
    }
}
 
Example #7
Source File: VerificationActivity.java    From lbry-android with MIT License 5 votes vote down vote up
public void checkFlow() {
    ViewPager2 viewPager = findViewById(R.id.verification_pager);
    if (Lbryio.isSignedIn()) {
        boolean flowHandled = false;
        if (flow == VERIFICATION_FLOW_WALLET) {
            viewPager.setCurrentItem(VerificationPagerAdapter.PAGE_VERIFICATION_WALLET, false);
            flowHandled = true;
        } else if (flow == VERIFICATION_FLOW_REWARDS) {
            User user = Lbryio.currentUser;
            if (!user.isIdentityVerified()) {
                // phone number verification required
                viewPager.setCurrentItem(VerificationPagerAdapter.PAGE_VERIFICATION_PHONE, false);
                flowHandled = true;
            } else if (!user.isRewardApproved()) {
                // manual verification required
                viewPager.setCurrentItem(VerificationPagerAdapter.PAGE_VERIFICATION_MANUAL, false);
                flowHandled = true;
            }
        }

        if (!flowHandled) {
            // user has already been verified and or reward approved
            setResult(RESULT_CANCELED);
            finish();
            return;
        }
    }
}
 
Example #8
Source File: VerificationActivity.java    From lbry-android with MIT License 5 votes vote down vote up
@Override
public void onPhoneVerified() {
    showLoading();
    FetchCurrentUserTask task = new FetchCurrentUserTask(new FetchCurrentUserTask.FetchUserTaskHandler() {
        @Override
        public void onSuccess(User user) {
            Lbryio.currentUser = user;
            if (user.isIdentityVerified() && user.isRewardApproved()) {
                // verified for rewards
                LbryAnalytics.logEvent(LbryAnalytics.EVENT_REWARD_ELIGIBILITY_COMPLETED);

                setResult(RESULT_OK);
                finish();
                return;
            }

            // show manual verification page if the user is still not reward approved
            ViewPager2 viewPager = findViewById(R.id.verification_pager);
            viewPager.setCurrentItem(VerificationPagerAdapter.PAGE_VERIFICATION_MANUAL, false);
            hideLoading();
        }

        @Override
        public void onError(Exception error) {
            showFetchUserError(error != null ? error.getMessage() : getString(R.string.fetch_current_user_error));
            hideLoading();
        }
    });
    task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
 
Example #9
Source File: BottomNavigationViewInner.java    From smart-farmer-android with Apache License 2.0 5 votes vote down vote up
/**
 * This method will link the given ViewPager and this BottomNavigationViewInner together so that
 * changes in one are automatically reflected in the other. This includes scroll state changes
 * and clicks.
 *
 * @param viewPager
 * @param smoothScroll whether ViewPager changed with smooth scroll animation
 */
public BottomNavigationViewInner setupWithViewPager(final ViewPager2 viewPager, boolean smoothScroll) {
    if (mViewPager != null) {
        // If we've already been setup with a ViewPager, remove us from it
        if (mPageChangeListener != null) {
            mViewPager.unregisterOnPageChangeCallback(mPageChangeListener);
        }
    }

    if (null == viewPager) {
        mViewPager = null;
        super.setOnNavigationItemSelectedListener(null);
        return this;
    }

    mViewPager = viewPager;

    // Add our custom OnPageChangeListener to the ViewPager
    if (mPageChangeListener == null) {
        mPageChangeListener = new BottomNavigationViewExOnPageChangeListener(this);
    }
    viewPager.registerOnPageChangeCallback(mPageChangeListener);

    // Now we'll add a navigation item selected listener to set ViewPager's current item
    OnNavigationItemSelectedListener listener = getOnNavigationItemSelectedListener();
    mMyOnNavigationItemSelectedListener = new MyOnNavigationItemSelectedListener(viewPager, this, smoothScroll, listener);
    super.setOnNavigationItemSelectedListener(mMyOnNavigationItemSelectedListener);
    return this;
}
 
Example #10
Source File: BottomNavigationViewInner.java    From smart-farmer-android with Apache License 2.0 5 votes vote down vote up
MyOnNavigationItemSelectedListener(ViewPager2 viewPager, BottomNavigationViewInner bnve, boolean smoothScroll, OnNavigationItemSelectedListener listener) {
    this.viewPagerRef = new WeakReference<>(viewPager);
    this.listener = listener;
    this.smoothScroll = smoothScroll;

    // create items
    Menu menu = bnve.getMenu();
    int size = menu.size();
    items = new SparseIntArray(size);
    for (int i = 0; i < size; i++) {
        int itemId = menu.getItem(i).getItemId();
        items.put(itemId, i);
    }
}
 
Example #11
Source File: BottomNavigationViewInner.java    From smart-farmer-android with Apache License 2.0 5 votes vote down vote up
@Override
        public boolean onNavigationItemSelected(MenuItem item) {
            int position = items.get(item.getItemId());
            // only set item when item changed
            if (previousPosition == position) {
                return true;
            }
//            Log.d("onNavigationItemSelecte", "position:"  + position);
            // user listener
            if (null != listener) {
                boolean bool = listener.onNavigationItemSelected(item);
                // if the selected is invalid, no need change the view pager
                if (!bool) {
                    return false;
                }
            }

            // change view pager
            ViewPager2 viewPager = viewPagerRef.get();
            if (null == viewPager) {
                return false;
            }

            // use isNavigationItemClicking flag to avoid `ViewPager.OnPageChangeListener` trigger
            isNavigationItemClicking = true;
            viewPager.setCurrentItem(items.get(item.getItemId()), smoothScroll);
            isNavigationItemClicking = false;

            // update previous position
            previousPosition = position;

            return true;
        }
 
Example #12
Source File: BottomNavigationViewEx.java    From smart-farmer-android with Apache License 2.0 5 votes vote down vote up
@Override
public BottomNavigationViewInner setupWithViewPager(ViewPager2 viewPager) {
    try {
        return super.setupWithViewPager(viewPager);
    } catch (Exception e) {
        return this;
    }
}
 
Example #13
Source File: BottomNavigationViewEx.java    From smart-farmer-android with Apache License 2.0 5 votes vote down vote up
@Override
public BottomNavigationViewInner setupWithViewPager(ViewPager2 viewPager, boolean smoothScroll) {
    try {
        return super.setupWithViewPager(viewPager, smoothScroll);
    } catch (Exception e) {
        return this;
    }
}
 
Example #14
Source File: ViewPagerFragment.java    From AndroidNavigation with MIT License 5 votes vote down vote up
private void initView(View view) {

        toolbar = view.findViewById(R.id.toolbar);

        AppBarLayout appBarLayout = view.findViewById(R.id.appbar_layout);

        // important
        if (isStatusBarTranslucent()) {
            appendStatusBarPadding(appBarLayout);
        }

        TabLayout tabLayout = view.findViewById(R.id.tab_layout);
        ViewPager2 viewPager = view.findViewById(R.id.view_pager);

        tabLayout.addTab(tabLayout.newTab().setText("Android"));
        tabLayout.addTab(tabLayout.newTab().setText("Awesome"));
        tabLayout.addTab(tabLayout.newTab().setText("Navigation"));

        viewPager.setAdapter(new ViewPagerAdapter(this));

        new TabLayoutMediator(tabLayout, viewPager, (tab, position) -> {
            String[] titles = new String[]{"Android", "Awesome", "Navigation"};
            tab.setText(titles[position]);
            viewPager.setCurrentItem(position);
        }).attach();

        viewPager.setCurrentItem(0);

    }
 
Example #15
Source File: TabLayoutMediator.java    From material-components-android with Apache License 2.0 5 votes vote down vote up
public TabLayoutMediator(
    @NonNull TabLayout tabLayout,
    @NonNull ViewPager2 viewPager,
    boolean autoRefresh,
    @NonNull TabConfigurationStrategy tabConfigurationStrategy) {
  this(tabLayout, viewPager, autoRefresh, /* smoothScroll= */ true, tabConfigurationStrategy);
}
 
Example #16
Source File: TabLayoutMediator.java    From material-components-android with Apache License 2.0 5 votes vote down vote up
public TabLayoutMediator(
    @NonNull TabLayout tabLayout,
    @NonNull ViewPager2 viewPager,
    boolean autoRefresh,
    boolean smoothScroll,
    @NonNull TabConfigurationStrategy tabConfigurationStrategy) {
  this.tabLayout = tabLayout;
  this.viewPager = viewPager;
  this.autoRefresh = autoRefresh;
  this.smoothScroll = smoothScroll;
  this.tabConfigurationStrategy = tabConfigurationStrategy;
}
 
Example #17
Source File: TeiDashboardMobileActivity.java    From dhis2-android-capture-app with BSD 3-Clause "New" or "Revised" License 5 votes vote down vote up
private void tabLayoutMediator(ViewPager2 viewPager) {
    new TabLayoutMediator(binding.tabLayout, viewPager,
            (tab, position) -> {
                if (OrientationUtilsKt.isLandscape()) {
                    setupTabletTabTitles(tab, position);
                } else {
                    setupTabTitles(tab, position);
                }
            }).attach();
}
 
Example #18
Source File: TutorialFragment.java    From geopackage-mapcache-android with MIT License 5 votes vote down vote up
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    tutorialView = inflater.inflate(R.layout.fragment_tutorial, container, false);
    ViewPager2 viewPager = tutorialView.findViewById(R.id.view_pager);
    List<String> pages = new ArrayList<>();
    pages.add("first");
    pages.add("Second");
    pages.add("third");
    TutorialAdapter tutorialAdapter = new TutorialAdapter(getContext(), pages);
    viewPager.setAdapter(tutorialAdapter);
    return tutorialView;
}
 
Example #19
Source File: WorkTimeTrackerActivity.java    From trackworktime with GNU General Public License v3.0 5 votes vote down vote up
private void initWeekPagerChangeCallback() {
	weekPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
		@Override
		public void onPageSelected(int selectedWeekIndex) {
			super.onPageSelected(selectedWeekIndex);
			refreshRecenterMenuItem();
		}
	});
}
 
Example #20
Source File: TabLayoutMediator.java    From material-components-android with Apache License 2.0 4 votes vote down vote up
public TabLayoutMediator(
    @NonNull TabLayout tabLayout,
    @NonNull ViewPager2 viewPager,
    @NonNull TabConfigurationStrategy tabConfigurationStrategy) {
  this(tabLayout, viewPager, /* autoRefresh= */ true, tabConfigurationStrategy);
}
 
Example #21
Source File: ViewPagerAdapter.java    From journaldev with MIT License 4 votes vote down vote up
ViewPagerAdapter(Context context, List<String> data, ViewPager2 viewPager2) {
    this.mInflater = LayoutInflater.from(context);
    this.mData = data;
    this.viewPager2 = viewPager2;
}
 
Example #22
Source File: TabLayoutMediator.java    From material-components-android with Apache License 2.0 4 votes vote down vote up
ViewPagerOnTabSelectedListener(ViewPager2 viewPager, boolean smoothScroll) {
  this.viewPager = viewPager;
  this.smoothScroll = smoothScroll;
}
 
Example #23
Source File: PhotoSwipeBackCoordinatorLayout.java    From Mysplash with GNU Lesser General Public License v3.0 4 votes vote down vote up
public void setHorizontalConsumer(@Nullable ViewPager2 consumer) {
    this.horizontalConsumer = consumer;
}
 
Example #24
Source File: TabLayoutMediator.java    From PhoneProfilesPlus with Apache License 2.0 4 votes vote down vote up
ViewPagerOnTabSelectedListener(ViewPager2 viewPager) {
    this.mViewPager = viewPager;
}
 
Example #25
Source File: WelcomeFragment3.java    From OneText_For_Android with GNU Lesser General Public License v3.0 4 votes vote down vote up
public WelcomeFragment3(Activity activity, ViewPager2 viewPager2) {
    this.activity = activity;
    this.viewPager2 = viewPager2;
}
 
Example #26
Source File: WormDotsIndicator.java    From dhis2-android-capture-app with BSD 3-Clause "New" or "Revised" License 4 votes vote down vote up
public void setViewPager(ViewPager2 viewPager) {
    this.viewPager = viewPager;
    setUpViewPager();
    refreshDots();
}
 
Example #27
Source File: WelcomeFragment1.java    From OneText_For_Android with GNU Lesser General Public License v3.0 4 votes vote down vote up
public WelcomeFragment1(Activity activity, ViewPager2 viewPager2) {
    this.activity = activity;
    this.viewPager2 = viewPager2;
}
 
Example #28
Source File: WelcomeFragment0.java    From OneText_For_Android with GNU Lesser General Public License v3.0 4 votes vote down vote up
public WelcomeFragment0(ViewPager2 viewPager2){
    this.viewPager2 = viewPager2;
}
 
Example #29
Source File: WelcomeFragment2.java    From OneText_For_Android with GNU Lesser General Public License v3.0 4 votes vote down vote up
public WelcomeFragment2(Activity activity, ViewPager2 viewPager2) {
    this.activity = activity;
    this.viewPager2 = viewPager2;
}
 
Example #30
Source File: WelcomeFragment5.java    From OneText_For_Android with GNU Lesser General Public License v3.0 4 votes vote down vote up
public WelcomeFragment5(Activity activity, ViewPager2 viewPager2) {
    this.activity = activity;
    this.viewPager2 = viewPager2;
}