欢迎访问宙启技术站
智能推送

Android中使用ViewPagerIndicator实现一个导航栏指示器

发布时间:2023-05-16 02:21:58

ViewPagerIndicator 是 Android 第三方开源库中比较好用的一个导航栏指示器,它可以很方便地为 ViewPager 提供指示器。

实现步骤:

1.添加依赖

在 build.gradle 中添加依赖:

implementation 'com.viewpagerindicator:library:2.4.1'

2.编写布局

在布局文件中添加 ViewPager 和指示器:

<androidx.viewpager.widget.ViewPager
    android:id="@+id/viewPager"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1" />

<com.viewpagerindicator.CirclePageIndicator
    android:id="@+id/circleIndicator"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:layout_gravity="center_horizontal|bottom" />

CirclePageIndicator 是一个圆形指示器,还有其他的指示器可以选择,例如LinePageIndicator。

3.编写适配器

使用适配器为 ViewPager 提供数据源。在本例中,我们使用 FragmentPagerAdapter。

public class MyPagerAdapter extends FragmentPagerAdapter {
    private List<Fragment> fragmentList;

    public MyPagerAdapter(FragmentManager fm, List<Fragment> fragmentList) {
        super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
        this.fragmentList = fragmentList;
    }

    @Override
    public Fragment getItem(int position) {
        return fragmentList.get(position);
    }

    @Override
    public int getCount() {
        return fragmentList.size();
    }
}

4.设置适配器和指示器

在 Activity 或 Fragment 中设置适配器和指示器:

ViewPager viewPager = findViewById(R.id.viewPager);
List<Fragment> fragmentList = new ArrayList<>();
//添加 Fragment
MyPagerAdapter myPagerAdapter = new MyPagerAdapter(getSupportFragmentManager(), fragmentList);
viewPager.setAdapter(myPagerAdapter);

//设置指示器
CirclePageIndicator circlePageIndicator = findViewById(R.id.circleIndicator);
circlePageIndicator.setViewPager(viewPager);

这样,就成功实现了一个 ViewPagerIndicator 指示器。

总结:

ViewPagerIndicator 是一个非常方便的第三方开源库,可以快速地为 ViewPager 添加指示器。通过本文的步骤,我们已经能够使用 ViewPagerIndicator 为 ViewPager 添加指示器。

当然,还有其他的指示器可以选择,可以根据自己的需要进行选择。