前言
最近在网上看到了MagicIndicator这个自定义指示器觉得蛮有趣的,而网上的很多博客,我看不到懂,就自己看博主github上的源码,自己谢了一个测试Demo,有错误的地方欢迎大家指出,我也有很多不太懂的地方,只是简单的会用
进入正题
先贴一张结构图很简单
,
*别忘了MagicIndicator首先导入Module,即第三个红线,最后会放上github地址,里面有*
gradle中别忘了compile project(‘:magicindicator’),是app下的,dependencies里,添加依赖
1.第一个红框是主要的Java类
MainActivity
import net.lucode.hackware.magicindicator.MagicIndicator;
import net.lucode.hackware.magicindicator.ViewPagerHelper;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.ClipPagerTitleView;
import java.util.Arrays;
import java.util.List;
public class MainActivity extends AppCompatActivity {
//MagicIndicator指示器数据,Arrays.asList(channels)返回一个Arraylist,并将数据存到mDataList
String[] channels = new String[]{
"CUPCAKE", "DONUT", "ECLAIR", "GINGERBREAD", "HONEYCOMB", "ICE_CREAM_SANDWICH", "JELLY_BEAN", "KITKAT", "LOLLIPOP", "M", "NOUGAT"};
private List<String> mDataList = Arrays.asList(channels);
//testArr