Tablayout左右滑动和Banner无限轮播的配合使用

来源:互联网 发布:重庆数据分析的项目 编辑:程序博客网 时间:2024/06/06 06:47
import android.content.Context;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.design.widget.TabLayout;import android.support.v4.app.Fragment;import android.support.v4.view.ViewPager;import android.support.v4.widget.DrawerLayout;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import com.youth.banner.Banner;import com.youth.banner.loader.ImageLoader;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import zhaochuang.bawei.com.myapplication.R;/** * Created by zh on 2017/11/16. */public class Fragment3 extends Fragment{    private TabLayout tab;    private ViewPager vp;List<String> l=new ArrayList<>();    private DrawerLayout draw;    //图片的链接   String[] Urls={"https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=125441243,2968026917&fm=27&gp=0.jpg",   "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1510907463321&di=21625288ffc00cb197dadcc2183d6ed4&imgtype=0&src=http%3A%2F%2Fupload.ct.youth.cn%2F2015%2F1117%2F1447727522196.jpg",      "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1510907553111&di=0b0e8a697b61e0a1c85c5c1cd6d5f58b&imgtype=0&src=http%3A%2F%2Fimg.tupianzj.com%2Fuploads%2Fallimg%2F20170729%2F0GUcSbwXUa776.jpeg",           "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3716170159,2857853982&fm=27&gp=0.jpg",   };    private Banner ban;List<String> li=new ArrayList<>();    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.fra3,container, false);        //获取Tablayout的ID        tab = view.findViewById(R.id.tab);        //获取banner的链接        ban = view.findViewById(R.id.ban);        //这是tablayout的标题的一个方法       tabLayout_tag();       //Banner加载图片的一个方法        ban.setImageLoader(new Myimag());        //Banner加载链接的一个方法        ban.setImages(Arrays.asList(Urls));        //启动Banner无限轮播        ban.start();        //Banner的监听事件         ban.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {             @Override             public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {             }             @Override             public void onPageSelected(int position) {            tab.setScrollPosition((position-1)%4,2F,false);             }             @Override             public void onPageScrollStateChanged(int state) {             }         });        return view;    }      class Myimag extends ImageLoader{          @Override          public void displayImage(Context context, Object path, ImageView imageView) {              //加载图片的方法,因为两个相同的方法名冲突,所以要用安卓自带的一个Imagerloader              com.nostra13.universalimageloader.core.ImageLoader.getInstance().displayImage((String) path,imageView);          }      }      //这是获取标题的方法  private void tabLayout_tag(){        //用上系统自带的TabLayout.Tab取个对象名        //后面跟的是TabLayout的ID.newTab给TabLayout获取标题姓名     TabLayout.Tab tab1=tab.newTab().setText("范冰冰");     tab.addTab(tab1,true);      TabLayout.Tab tab2=tab.newTab().setText("杨幂");      tab.addTab(tab2,false);      TabLayout.Tab tab3=tab.newTab().setText("柳岩");      tab.addTab(tab3,false);      TabLayout.Tab tab4=tab.newTab().setText("如花");      tab.addTab(tab4,false);  }    }