day9 banner轮播图+Pulltorefresh+flyco.tablayout

Banner

依赖

 implementation 'com.youth.banner:banner:1.4.10'

代码

public class MainActivity extends AppCompatActivity {
Banner ban;
ArrayList<String> title=new ArrayList<>();
    ArrayList<String> img=new ArrayList<>();

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

   //网络请求图片和title
        OkGo.<String>get("http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=200&page=1").execute(new StringCallback() {
            @Override
            public void onSuccess(Response<String> response) {
                String body = response.body();
                try {
                    JSONObject jsonObject = new JSONObject(body);
                    JSONArray data = jsonObject.getJSONArray("data");
                        for(int i=0;i<data.length();i++){
                            JSONObject jsonObject1 = data.getJSONObject(i);
                            String pic = jsonObject1.getString("pic");
                            String tit = jsonObject1.getString("title");
                            title.add(tit);
                            img.add(pic);
                            ban.setBannerTitles(title);
                            ban.setImages(img);
                            ban.start();//开启

                        }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        });
        ban.setImageLoader(new ImageLoaderInterface() {
            @Override
            public void displayImage(Context context, Object path, View imageView) {
                String path1 = (String) path;
                Glide.with(MainActivity.this).load(path1).into((ImageView) imageView);
            }

            @Override
            public View createImageView(Context context) {
                return new ImageView(context);
            }
        });
        ban.setBannerStyle(BannerConfig.NUM_INDICATOR_TITLE);
        ban.setDelayTime(1000);//设置每隔多少秒换图

    }
}

Pulltorefresh

代码

要记得先导入library的Module

public class Main2Activity extends AppCompatActivity {
PullToRefreshListView pullToRefreshListView;
MyAdapter myAdapter;
     Banner ban;
ArrayList<String> list=new ArrayList<>();
    ArrayList<String> title=new ArrayList<>();
    ArrayList<String> img=new ArrayList<>();
int page=1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        pullToRefreshListView=findViewById(R.id.pu);
        myAdapter=new MyAdapter(list,this);
        pullToRefreshListView.setAdapter(myAdapter);
        pullToRefreshListView.setMode(PullToRefreshBase.Mode.BOTH);
        init();
        pullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                //下拉清空加载第一页
                list.clear();
                page=1;
                init();

            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
                //上拉追加数据
                page++;
                init();
            }
        });
        View head_inflate = LayoutInflater.from(this).inflate(R.layout.layout_head, null);
     ban=head_inflate.findViewById(R.id.ban);
      bannnn();
        View food_inflate = LayoutInflater.from(this).inflate(R.layout.layout_food, null);
        pullToRefreshListView.getRefreshableView().addHeaderView(head_inflate);
       pullToRefreshListView.getRefreshableView().addFooterView(food_inflate);
    }

    private void bannnn() {
        OkGo.<String>get("http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=200&page=1").execute(new StringCallback() {
            @Override
            public void onSuccess(Response<String> response) {
                String body = response.body();
                try {
                    JSONObject jsonObject = new JSONObject(body);
                    JSONArray data = jsonObject.getJSONArray("data");
                    for(int i=0;i<data.length();i++){
                        JSONObject jsonObject1 = data.getJSONObject(i);
                        String pic = jsonObject1.getString("pic");
                        String tit = jsonObject1.getString("title");
                        title.add(tit);
                        img.add(pic);
                        ban.setBannerTitles(title);
                        ban.setImages(img);
                        ban.start();

                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        });

        ban.setImageLoader(new ImageLoaderInterface() {
            @Override
            public void displayImage(Context context, Object path, View imageView) {
                String path1 = (String) path;
                Glide.with(Main2Activity.this).load(path1).into((ImageView) imageView);
            }

            @Override
            public View createImageView(Context context) {
                return new ImageView(context);
            }
        });
        ban.setBannerStyle(BannerConfig.NUM_INDICATOR_TITLE);
        ban.setDelayTime(1000);
    }

    private void init() {
        OkGo.<String>get("http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=200&page="+page).execute(new StringCallback() {
            @Override
            public void onSuccess(Response<String> response) {
                String body = response.body();
                JSONObject jsonObject = null;
                try {
                    jsonObject = new JSONObject(body);
                    JSONArray data = jsonObject.getJSONArray("data");
                    for(int i=0;i<data.length();i++){
                        JSONObject jsonObject1 = data.getJSONObject(i);
                        String pic = jsonObject1.getString("pic");
                        list.add(pic);
                        myAdapter.notifyDataSetChanged();
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                pullToRefreshListView.onRefreshComplete();
            }
        });
    }
}

Flyco.tablayout----CommonTabLayout

依赖

implementation 'com.flyco.tablayout:FlycoTabLayout_Lib:2.0.2@aar'

代码

主函数

public class Main3Activity extends AppCompatActivity {
CommonTabLayout ctb;
FrameLayout fram;
ArrayList<CustomTabEntity> list=new ArrayList<>();
Fragment1 fragment1;
    Fragment2 fragment2;
    Fragment3 fragment3;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        ctb=findViewById(R.id.ctb);
        fram=findViewById(R.id.fram);
        fragment1=new Fragment1();
        fragment2=new Fragment2();
        fragment3=new Fragment3();
        list.add(new Bean("fragmen1",R.drawable.an_true,R.drawable.an_false));
        list.add(new Bean("fragmen2",R.drawable.an_true,R.drawable.an_false));
        list.add(new Bean("fragmen3",R.drawable.an_true,R.drawable.an_false));
        getSupportFragmentManager().beginTransaction().replace(R.id.fram,fragment1).commit();
        ctb.setTabData(list);
        ctb.setOnTabSelectListener(new OnTabSelectListener() {
            @Override
            public void onTabSelect(int position) {
                switch (position){
                    case 0:
                        getSupportFragmentManager().beginTransaction().replace(R.id.fram,fragment1).commit();
                        break;
                    case 1:
                        getSupportFragmentManager().beginTransaction().replace(R.id.fram,fragment2).commit();
                        break;
                    case 2:
                        getSupportFragmentManager().beginTransaction().replace(R.id.fram,fragment3).commit();
                        break;
                }
            }
            @Override
            public void onTabReselect(int position) {
            }
        });
    }
}

Bean

一定要实现CustomTabEntity
public class Bean implements CustomTabEntity {
    String title;
    int sele;
    int unsele;

    public Bean(String title, int sele, int unsele) {
        this.title = title;
        this.sele = sele;
        this.unsele = unsele;
    }

    @Override
    public String getTabTitle() {
        return title;
    }

    @Override
    public int getTabSelectedIcon() {
        return sele;
    }

    @Override
    public int getTabUnselectedIcon() {
        return unsele;
    }
}

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值