Banner+FlycoTabLayout+pulltorefresh

Banner+FlycoTabLayout+pulltorefresh

依赖

implementation 'com.flyco.tablayout:FlycoTabLayout_Lib:2.0.2@aar
implementation ‘com.youth.banner:banner:1.4.10’ ’

banner

public class MainActivity extends AppCompatActivity {

    Banner banner;
    //图片集合
    List<String> lists=new ArrayList<>();
    //标题集合
    List<String> titles=new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        banner=findViewById(R.id.banner);

        OkGo.<String>get("http://vueshop.glbuys.com/api/home/index/slide?token=1ec949a15fb709370f")
            .execute(new StringCallback() {
                @Override
                public void onSuccess(Response<String> response) {
                    List<Bean.DataBean> data = new Gson().fromJson(response.body(), Bean.class).getData();
                    for (int i = 0; i < data.size(); i++) {
                        lists.add("http:"+data.get(i).getImage());
                        titles.add(data.get(i).getTitle());
                    }
                    banner.setImages(lists);
                    banner.setBannerTitles(titles);
                    banner.start();
                }
            });

        //样式
        banner.setBannerStyle(BannerConfig.NUM_INDICATOR_TITLE);
        //轮播时间
//        banner.setDelayTime(1000);
        //自动轮播
        banner.isAutoPlay(true);
        //图片加载器
        banner.setImageLoader(new ImageLoader() {
            @Override
            public void displayImage(Context context, Object path, ImageView imageView) {
                //path 图片路径 imageview 显示图片控件
                Glide.with(MainActivity.this).load(path).into(imageView);

            }
        });

    }
}

FlycoTabLayout

public class MainActivity extends AppCompatActivity {

    CommonTabLayout commonTabLayout;

    ArrayList<CustomTabEntity> lists=new ArrayList<>();
    Fragment fragment1,fragment2,fragment3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        init();

        //tablayout样式
        lists.add(new MyCustom("消息",R.mipmap.a,R.mipmap.b));
        lists.add(new MyCustom("我的",R.mipmap.a,R.mipmap.b));
        lists.add(new MyCustom("提醒",R.mipmap.a,R.mipmap.b));

        commonTabLayout.setTabData(lists);

        commonTabLayout.setOnTabSelectListener(new OnTabSelectListener() {
            //选中
            @Override
            public void onTabSelect(int position) {
                if (position==0) {
                    getSupportFragmentManager().beginTransaction().replace(R.id.framelayout,fragment1).commit();
                }else if (position==1) {
                    getSupportFragmentManager().beginTransaction().replace(R.id.framelayout,fragment2).commit();
                }else if (position==2) {
                    getSupportFragmentManager().beginTransaction().replace(R.id.framelayout,fragment3).commit();
                }
            }

            //第二次选中
            @Override
            public void onTabReselect(int position) {

            }
        });

    }

    private void init() {
        commonTabLayout=findViewById(R.id.tablayout);

        fragment1=new MyFragment1();
        fragment2=new MyFragment2();
        fragment3=new MyFragment3();

    }
}

自定义类:

public class MyCustom implements CustomTabEntity {

    String title;
    int selecticon;
    int unselecticon;

    public MyCustom(String title, int selecticon, int unselecticon) {
        this.title = title;
        this.selecticon = selecticon;
        this.unselecticon = unselecticon;
    }
	//标题
    @Override	
    public String getTabTitle() {
        return title;
    }
	//选中的图片
    @Override
    public int getTabSelectedIcon() {
        return selecticon;
    }
	//未选中的图片
    @Override
    public int getTabUnselectedIcon() {
        return unselecticon;
    }
}

布局文件:
选中和未选中的字体颜色(默认为白色):

		app:tl_textSelectColor="#000"
        app:tl_textUnselectColor="#FF5722"

pulltorefresh

public class MyFragment1 extends Fragment {

    View view;

    PullToRefreshListView pullToRefreshListView;

    List<Bean.DataBean> lists=new ArrayList<>();
    List<String> images=new ArrayList<>();
    Banner banner;

    View foot;
    MyAdapter myAdapter;
    String path="http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=";
    int page=2;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        view = getLayoutInflater().inflate(R.layout.layout_item1, null);

        init();

        setData();

        setBanner();
        setFoot();

        //both表示双方
        pullToRefreshListView.setMode(PullToRefreshBase.Mode.BOTH);
        pullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                lists.clear();
                page=1;
                setData();
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
                page++;
                setData();

            }
        });

        return view;
    }

    //添加尾视图
    private void setFoot() {

        foot = LayoutInflater.from(getContext()).inflate(R.layout.layout_footer, null);

        pullToRefreshListView.getRefreshableView().addFooterView(foot);
    }

    //添加头视图
    private void setBanner() {
        View view = LayoutInflater.from(getContext()).inflate(R.layout.layout_header, null);


        banner = view.findViewById(R.id.header_banner);

        OkGo.<String>get("http://vueshop.glbuys.com/api/home/index/slide?token=1ec949a15fb709370f")
                .execute(new StringCallback() {
                    @Override
                    public void onSuccess(Response<String> response) {

                        List<Bean1.DataBean> data;   data = new Gson().fromJson(response.body(), Bean1.class).getData();
                        for (int i = 0; i < data.size(); i++) {
                            String image = data.get(i).getImage();
                            images.add("http:"+image);
                        }
                        banner.setImages(images);
                        banner.start();
                    }
                });

        //样式
        banner.setBannerStyle(BannerConfig.NUM_INDICATOR);
        banner.isAutoPlay(true);//自动轮播
        //图片加载器
        banner.setImageLoader(new ImageLoader() {
            @Override
            public void displayImage(Context context, Object path, ImageView imageView) {
                Glide.with(getContext()).load((String) path).into(imageView);
            }
        });


        pullToRefreshListView.getRefreshableView().addHeaderView(view);

    }
    //请求数据
    private void setData() {
        OkGo.<String>get(path+page).execute(new StringCallback() {
            @Override
            public void onSuccess(Response<String> response) {
                List<Bean.DataBean> data = new Gson().fromJson(response.body(), Bean.class).getData();
                lists.addAll(data);
                myAdapter.notifyDataSetChanged();
                pullToRefreshListView.onRefreshComplete();
            }
        });

    }

    private void init() {
        pullToRefreshListView=view.findViewById(R.id.pubblistview);
        myAdapter=new MyAdapter(lists,getContext());
        pullToRefreshListView.setAdapter(myAdapter);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值