我为viewpager添加了点指示器,在该 View 页面中,当我有15个数据时,点指示器也显示15个点。但我不希望只需要显示 5 个点指示器,即使我的 View 寻呼机中有 20 个数据
private fun setUpTabs(binding: FragmentHomeBinding, viewpager: ViewPagerAdapter) {
binding.viewPagerNews.adapter = viewpager
binding.indicatorContainer.setViewPager(binding.viewPagerNews)
}
最佳答案
您可以使用ScrollingPagerIndicator一次仅显示 5 个点,并使其在用户滑动页面时可滚动。
依赖
implementation "ru.tinkoff.scrollingpagerindicator:scrollingpagerindicator:1.2.0"
布局
<androidx.viewpager.widget.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ru.tinkoff.scrollingpagerindicator.ScrollingPagerIndicator
android:id="@+id/indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:spi_dotColor="@color/red" // unselected dot color
app:spi_dotSelectedColor="@color/teal_200" // selected dot color
app:spi_visibleDotCount="5" // max dot to be visible
app:spi_dotSize="5dp" // dot sizes
/>
将指示器附加到您的Viewpager
ViewPager pager = findViewById(R.id.pager);
pager.setAdapter(new DemoPagerAdapter());
ScaledDotsIndicator indicator = findViewById(R.id.indicator);
indicator.attachToPager(pager);
您还可以将其与 ViewPager2
或 RecyclerView
一起使用。
使用指示器设置 ViewPager2
ViewPager2 pager2 = findViewById(R.id.pager2);
DemoRecyclerViewAdapter pagerAdapter2 = new DemoRecyclerViewAdapter();
pager2.setAdapter(pagerAdapter2);
ScrollingPagerIndicator pagerIndicator2 = findViewById(R.id.pager_indicator2);
pagerIndicator2.attachToPager(pager2);
关于android - 仅显示 5 个点指示器,供我需要隐藏的剩余 viewpager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70270330/