头部标题和ViewPage的联动

先创建视图

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;
            }
        });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值