Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用点指示器扩展ViewPager2?_Java_Android_Pagination_Androidx_Android Viewpager2 - Fatal编程技术网

Java 如何使用点指示器扩展ViewPager2?

Java 如何使用点指示器扩展ViewPager2?,java,android,pagination,androidx,android-viewpager2,Java,Android,Pagination,Androidx,Android Viewpager2,我目前正在编写一本说明手册,它有很多页,并且使用了ViewPager2 到目前为止,我已经找到了ViewPager的点指示器,但没有找到ViewPager2的点指示器。我想提供更好的视觉反馈,这样人们就可以看到更多的页面。如何使用点指示器扩展ViewPager2,以最少的工作量?这不是对非现场资源的请求——尽管我自己的回答使用了一个库。请随意添加更好(更轻)的答案。软件包支持ViewPager2,可从以下网站获得: 必须在XML中使用classCircleIndicator3: <andr

我目前正在编写一本说明手册,它有很多页,并且使用了
ViewPager2

到目前为止,我已经找到了
ViewPager
的点指示器,但没有找到
ViewPager2
的点指示器。我想提供更好的视觉反馈,这样人们就可以看到更多的页面。如何使用点指示器扩展ViewPager2,以最少的工作量?这不是对非现场资源的请求——尽管我自己的回答使用了一个库。请随意添加更好(更轻)的答案。

软件包支持
ViewPager2
,可从以下网站获得:

必须在XML中使用class
CircleIndicator3

<androidx.viewpager2.widget.ViewPager2
    android:id="@+id/pager"
    android:layout_weight="1.00"
    android:layout_width="match_parent"
    android:layout_height="0dp"/>

<me.relex.circleindicator.CircleIndicator3
    android:id="@+id/indicator"
    android:layout_width="match_parent"
    android:layout_height="48dp"
    app:ci_width="5dp"
    app:ci_height="5dp"
    app:ci_margin="5dp"
    app:ci_orientation="horizontal"
    app:ci_gravity="center"/>
<androidx.viewpager2.widget.ViewPager2
    android:id="@+id/pager"
    android:layout_weight="1.00"
    android:layout_width="match_parent"
    android:layout_height="0dp"/>

<me.relex.circleindicator.CircleIndicator3
    android:id="@+id/indicator"
    android:layout_width="match_parent"
    android:layout_height="48dp"
    app:ci_width="5dp"
    app:ci_height="5dp"
    app:ci_margin="5dp"
    app:ci_orientation="horizontal"
    app:ci_gravity="center"/>
@Override
@NonNull
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    /* Inflate the data-binding */
    this.mDataBinding = DialogManualBinding.inflate(inflater, container, false);

    /* FragmentStateAdapter */
    ManualPagerAdapter adapter = new ManualPagerAdapter(getChildFragmentManager(), getLifecycle());
    this.mDataBinding.pager.setAdapter(adapter);

    /* CircleIndicator3 */
    this.mDataBinding.indicator.setViewPager(this.mDataBinding.pager);

    /* Optional */
    adapter.registerAdapterDataObserver(this.mDataBinding.indicator.getAdapterDataObserver());

    return this.mDataBinding.getRoot();
}