Android support library View Page: Frequently Asked Questions Answers

Android support library View Page: Frequently Asked Questions Answers introduce: The ViewPager component in the Android support library is a powerful and commonly used view container for the function of sliding and switching different pages in Android applications.This article will answer some questions about using ViewPager components and provide corresponding Java code examples. Question 1: How to create a basic viewPager? The following steps are required to use the ViewPager component: 1. Add ViewPager component to the XML layout file: <androidx.viewpager.widget.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent"/> 2. Create an adapter class to manage the page in the management of ViewPager: public class MyPagerAdapter extends FragmentPagerAdapter { private List<Fragment> fragmentList; public MyPagerAdapter(FragmentManager fragmentManager, List<Fragment> fragments) { super(fragmentManager); this.fragmentList = fragments; } @Override public Fragment getItem(int position) { return fragmentList.get(position); } @Override public int getCount() { return fragmentList.size(); } } 3. Set the adapter for ViewPager in the code and bind the Fragment: ViewPager viewPager = findViewById(R.id.viewPager); List<Fragment> fragmentList = new ArrayList<>(); fragmentList.add(new Fragment1()); fragmentList.add(new Fragment2()); fragmentList.add(new Fragment3()); MyPagerAdapter pagerAdapter = new MyPagerAdapter(getSupportFragmentManager(), fragmentList); viewPager.setAdapter(pagerAdapter); Question 2: How to monitor the page switching event of ViewPager? You can monitor the ViewPager page switching event by setting the OnPageChanGelistener interface of ViewPager.The following is an example: viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { // The callback method when the page is scrolled } @Override public void onPageSelected(int position) { // The callback method when the page is selected } @Override public void onPageScrollStateChanged(int state) { // Page Rolling Status to change the recovery method } }); Question 3: How to add an indicator to the viewPager? You can use the Tablayout component in the Android support library as the indicator of the ViewPager.The following is an example: TabLayout tabLayout = findViewById(R.id.tabLayout); tabLayout.setupWithViewPager(viewPager); Add Tablayout components to the XML layout file: <com.google.android.material.tabs.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="wrap_content"/> Question 4: How to achieve the cycle sliding of ViewPager? By default, ViewPager does not support cycle sliding.But you can achieve circulating sliding function by customized ViewPager adapter.The following is an example: public class LoopPagerAdapter extends PagerAdapter { private List<Fragment> fragmentList; public LoopPagerAdapter(List<Fragment> fragments) { this.fragmentList = fragments; } @NonNull @Override public Object instantiateItem(@NonNull ViewGroup container, int position) { posity = posity % fragmentlist.size (); // Calculate the real location return super.instantiateItem(container, position); } @Override public int getCount() { Return Integer.max_value; // Return a sufficiently large value } @Override public boolean isViewFromObject(@NonNull View view, @NonNull Object object) { return view == object; } @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { // Do not destroy the page, only remove view container.removeView((View) object); } @Nullable @Override public CharSequence getPageTitle(int position) { posity = posity % fragmentlist.size (); // Calculate the real location return fragmentList.get(position).getTitle(); } } Set the adapter for ViewPager in the code: ViewPager viewPager = findViewById(R.id.viewPager); List<Fragment> fragmentList = new ArrayList<>(); fragmentList.add(new Fragment1()); fragmentList.add(new Fragment2()); fragmentList.add(new Fragment3()); LoopPagerAdapter pagerAdapter = new LoopPagerAdapter(fragmentList); viewPager.setAdapter(pagerAdapter); ViewPager.setCurrenTitem (FragmentListList.size () * 1000); // Initialized position Through the above questions and code examples, I hope to help you better understand and use the ViewPager component in the Android support library.If you have any other questions, leave a message.