标题TabLayout滑动+轮播图

XML

<?xml version="1.0" encoding="utf-8"?>

<android.support.design.widget.TabLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/tab_up"></android.support.design.widget.TabLayout>

<android.support.v4.view.ViewPager
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:id="@+id/vp_lun"></android.support.v4.view.ViewPager>

<android.support.v4.view.ViewPager
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/vp_up"></android.support.v4.view.ViewPager>
## Afragment package com.bwie.a20181024_b.fragment;

import android.os.Bundle;

import android.os.Handler;
import android.os.Message;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;

import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import com.bwie.a20181024_b.R;

import java.util.ArrayList;
import java.util.List;

/**

  • A simple {@link Fragment} subclass.
    */
    public class Afragment extends Fragment {

    private TabLayout tab_up;
    private ViewPager vp_up;
    private ViewPager vp_lun;
    private List listImg;
    private List listImg1;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    View view = View.inflate(getActivity(),R.layout.fragment_afragment,null);
    tab_up = view.findViewById(R.id.tab_up);
    vp_up = view.findViewById(R.id.vp_up);
    vp_lun = view.findViewById(R.id.vp_lun);
    //创建标题的集合
    final List listTitle = new ArrayList<>();
    listTitle.add(“标题”);
    listTitle.add(“标题”);
    listTitle.add(“标题”);
    listTitle.add(“标题”);
    listTitle.add(“标题”);
    listTitle.add(“标题”);
    listTitle.add(“标题”);
    listTitle.add(“标题”);
    listTitle.add(“标题”);
    listTitle.add(“标题”);
    //创建URL的集合
    List listUrl = new ArrayList<>();
    listUrl.add(“title”);
    listUrl.add(“title”);
    listUrl.add(“title”);
    listUrl.add(“title”);
    listUrl.add(“title”);
    listUrl.add(“title”);
    listUrl.add(“title”);
    listUrl.add(“title”);
    listUrl.add(“title”);
    listUrl.add(“title”);
    //滑动
    tab_up.setTabMode(TabLayout.MODE_SCROLLABLE);
    //创建Fragment
    final List fragmentList = new ArrayList<>();
    for (int i = 0; i < listUrl.size(); i++) {
    KKFragment kkFragment = new KKFragment();
    Bundle bundle = new Bundle();
    bundle.putString(“url”,listUrl.get(i));
    kkFragment.setArguments(bundle);
    fragmentList.add(kkFragment);
    }
    //滑动
    vp_up.setAdapter(new FragmentPagerAdapter(getChildFragmentManager()) {
    @Override
    public Fragment getItem(int i) {
    return fragmentList.get(i);
    }

         @Override
         public int getCount() {
             return fragmentList.size();
         }
    
         @Nullable
         @Override
         public CharSequence getPageTitle(int position) {
             return listTitle.get(position);
         }
     });
     tab_up.setupWithViewPager(vp_up);
    
     /**
      * 轮播图
      */
     //创建List集合
     listImg1 = new ArrayList<>();
     listImg1.add(R.drawable.w);
     listImg1.add(R.drawable.u);
     listImg1.add(R.drawable.t);
     vp_lun.setAdapter(new PagerAdapter() {
         @Override
         public int getCount() {
             return listImg1.size();
         }
    
         @Override
         public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
             return view == o;
         }
    
         @NonNull
         @Override
         public Object instantiateItem(@NonNull ViewGroup container, int position) {
             ImageView imageView = new ImageView(getActivity());
             imageView.setImageResource(listImg1.get(position));
             container.addView(imageView);
             return imageView;
         }
    
         @Override
         public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
             container.removeView((View) object);
         }
     });
     handler.sendEmptyMessageDelayed(1,2000);
    
     return view;
    

    }
    Handler handler = new Handler(){
    @Override
    public void handleMessage(Message msg) {
    super.handleMessage(msg);
    if (msg.what == 1){
    //获取对应的页面
    int curr = vp_lun.getCurrentItem();
    if (curr < listImg1.size()-1){
    curr++;
    }else {
    curr = 0;
    }
    vp_lun.setCurrentItem(curr);
    sendEmptyMessageDelayed(1,2000);
    }
    }
    };

}

猜你喜欢

转载自blog.csdn.net/qq_42785994/article/details/83375736