先创建视图
topTab = (TabLayout) findViewById(R.id.top_tab);
viewShow = (ViewPager) findViewById(R.id.view_show);
footCip = (LinearLayout) findViewById(R.id.foot_cip);
start = (Button) findViewById(R.id.start);
timeOut = (TextView) findViewById(R.id.time_out);
设定集合
对应 头部标题 视图碎片 和 底部小圆圈
private List<Fragment> view_list=new ArrayList<>();
private List<String> top_list=new ArrayList<>();
private List<ImageView> foot_list=new ArrayList<>();
view_list.add(oneFragment);
view_list.add(twoFragment);
view_list.add(threeFragment);
view_list.add(fourFragment);
top_list.add("首页");
top_list.add("二页");
top_list.add("三页");
top_list.add("尾页");
for (int i=0;i<view_list.size();i++){
ImageView imageView=new ImageView(this);
imageView.setImageResource(R.drawable.img_no);
if(i==0){
imageView.setImageResource(R.drawable.img_yes);
}
foot_list.add(imageView);
footCip.addView(imageView);
}
设置适配器 和 监听
viewShow.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int i) {
return view_list.get(i);
}
@Override
public int getCount() {
return view_list.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return top_list.get(position);
}
});
viewShow.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
for(int j=0;j<foot_list.size();j++){
if(j==i){
foot_list.get(j).setImageResource(R.drawable.img_yes);
}else{
foot_list.get(j).setImageResource(R.drawable.img_no);
}
}
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
标题栏和视图链接
topTab.setupWithViewPager(viewShow);
线程 设定时间 自己滚动
final Timer timer=new Timer();
timer.schedule(new TimerTask() {
int i;
@Override
public void run() {
Message message=new Message();
message.what=1;
if(index==view_list.size()){
for(i=3;i>0;i--){
handler.post(new Runnable() {
@Override
public void run() {
timeOut.setText("倒计时"+i+"");
}
});
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
timer.cancel();
}
handler.sendMessage(message);
}
},0,1000);
handle的接收消息
handler=new Handler(new Handler.Callback() {
int i=0;
@Override
public boolean handleMessage(Message msg) {
if(msg.what==1){
viewShow.setCurrentItem(index);
index++;
}
if(index==view_list.size()){
start.setVisibility(View.VISIBLE);
}
return true;
}
});