android中MagicIndicator的基本用法

在项目和产品的开发过程中难免会遇到使用viewpager+指示器的UI实现,之前都是自己写来实现,麻烦不说代码量也比较多,之前也想过自己抽出来封装一个框架来处理,但是在后来发现MagicIndicator这个框架挺好用的,方法简单效果比较全面,然后就用了这个,下面大概介绍一下MagicIndicator的基本用法
第一步首先就是引用这个框架,在build.gradle中添加引用
compile'com.github.hackware1993:MagicIndicator:1.5.0'
第二步在使用的页面布局文件中添加代码




在通过在view页面初始化控件并设置控件属性

@BindView(R.id.magic_indicator)
MagicIndicator magicIndicator;
@BindView(R.id.viewpager)
ViewPager viewPager;

设置标题的指示器样式

CommonNavigator commonNavigator = new CommonNavigator(getActivity());
 commonNavigator.setAdapter(new CommonNavigatorAdapter() {
        @Override
        public int getCount() {
            return titles.length;
        }
        @Override
        public IPagerTitleView getTitleView(Context context, final int index) {
            SimplePagerTitleView simplePagerTitleView = new ScaleTransitionPagerTitleView(context);
            simplePagerTitleView.setText(titles[index]);
            simplePagerTitleView.setTextSize(20);//设置导航的文字大小
            simplePagerTitleView.setNormalColor(Color.GRAY);//正常状态下的标题颜色
            simplePagerTitleView.setSelectedColor(getResources().getColor(R.color.title_bar_bg));//选中的标题字体颜色
            simplePagerTitleView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    viewPager.setCurrentItem(index);
                }
            });
            return simplePagerTitleView;
        }
        @Override
        public IPagerIndicator getIndicator(Context context) {
            return null;
        }
    });
    magicIndicator.setNavigator(commonNavigator);

最后需要将viewpager与MagicIndicator 绑定到一起
ViewPagerHelper.bind(magicIndicator, viewPager);
这样基础的用法就搞定了效果如下图


android中MagicIndicator的基本用法_第1张图片
Screenshot_20180427-150202.jpg

你可能感兴趣的:(android中MagicIndicator的基本用法)