【问题标题】:Only show 5 dot indicators for viewpager remaing i need to hide只为 viewpager 显示 5 个点指示器,我需要隐藏
【发布时间】:2021-12-08 05:23:35
【问题描述】:

我为 viewpager 添加了点指示器,当我有 15 个数据时,在那个 viewpages 中,点指示器也显示了 15 个点。但我不希望我只需要显示 5 个点指示器,即使我的视图寻呼机中有 20 个数据

 private fun setUpTabs(binding: FragmentHomeBinding, viewpager: ViewPagerAdapter) {
    binding.viewPagerNews.adapter = viewpager
    binding.indicatorContainer.setViewPager(binding.viewPagerNews)
}

我需要这样展示

我是这样的

【问题讨论】:

    标签: android kotlin viewpagerindicator


    【解决方案1】:

    您可以使用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);
    

    您也可以将其与ViewPager2RecyclerView 一起使用。

    使用指示器设置 ViewPager2

        ViewPager2 pager2 = findViewById(R.id.pager2);
        DemoRecyclerViewAdapter pagerAdapter2 = new DemoRecyclerViewAdapter();
        pager2.setAdapter(pagerAdapter2);
    
        ScrollingPagerIndicator pagerIndicator2 = findViewById(R.id.pager_indicator2);
        pagerIndicator2.attachToPager(pager2);
    

    【讨论】:

    • 如何将它与 viewpager 2 一起使用,您能帮我解决吗...因为我在这个 attachToPager 行“binding.invitesViewpage.adapter = sliderAdapter binding.indicatorsContainer.attachToPager( binding.invitesViewpage)"
    • 我已添加要附加到viewpager2 的代码。您也可以查看demo given
    • 如果还有问题,请分享错误。
    • 是的,我只是检查了一下,我尝试了 attachToPager 和 attachtoRecyclerView,对于这些我收到此错误“无法访问类 'android.support.v7.widget.RecyclerView'。检查你的模块类路径对于缺少或冲突的依赖项”“无法访问类 'android.support.v4.view.ViewPager'。检查您的模块类路径是否存在缺少或冲突的依赖项”
    • Tring 使用这个indicator.attachToRecyclerView(viewPager2.getChildAt(0) as RecyclerView) ,似乎最新版本是1.2.0。
    猜你喜欢
    • 1970-01-01
    • 2018-07-31
    • 1970-01-01
    • 2016-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多