页面综合

横向滑动我在之前给大家分享了一个方法,无限轮播也有一个简单的例子,那么我们现在就可以做一个综合页面了

首先看一下效果图

    

那么我们如何把这些个东西全部添加进一个页面呢?

主要说一下适配器那个类把


首先就是我们需要定义的一些个属性,然后我们继续添加数据


接着就是OnCreate方法(主要执行加载View视图,并添加三个方法)


那么三个方法是什么作用?

我们继续往下看

private void getFind(View view) {
    Bundle arguments = getArguments();//得到值
    String title = arguments.getString("title");
    if (title.equals("头条")){    //并进行判断
        banner = view.findViewById(R.id.xbanner); //获取banner资源ID
        images.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1530244450653&di=54d7db42e73e45deb31acff7e0455b2b&imgtype=0&src=http%3A%2F%2Fpic.87g.com%2Fupload%2F2017%2F1013%2F20171013011300377.jpg");
        images.add("http://imageprocess.yitos.net/images/public/20160910/99381473502384338.jpg");
        images.add("http://imageprocess.yitos.net/images/public/20160910/77991473496077677.jpg");
        images.add("http://imageprocess.yitos.net/images/public/20160906/1291473163104906.jpg");
        banner.setData(images,null);
        banner.setmAdapter(new XBanner.XBannerAdapter() { // XBanner适配数据
            @Override
            public void loadBanner(XBanner banner, View view, int position) {
                Glide.with(getActivity()).load(images.get(position)).into((ImageView) view);
            }
        });
        banner.setPageTransformer(Transformer.Default);   // 设置XBanner的页面切换特效
         banner.setPageChangeDuration(1000); // 设置XBanner页面切换的时间,即动画时长

    }else{  //如果不是第一页我们把轮播隐藏并加载getData方法
        banner = view.findViewById(R.id.xbanner);
        banner.setVisibility(View.GONE);
        getData();
    }

走到这里发现要继续走的方法是getData方法

那么我们继续看一下getData方法的作用


然后可以看出getData方法是加载数据给我们刷新的ListView的


那最后一个方法我想大家心里都有点底了

private void initview(View view) {
    pullToRefreshListView = view.findViewById(R.id.pulllistview);//找到ListView的资源ID
    pullToRefreshListView.setMode(PullToRefreshBase.Mode.BOTH); //给其设置上滑下滑的属性
    ILoadingLayout loadingLayoutProxy = pullToRefreshListView.getLoadingLayoutProxy(true, false);
    loadingLayoutProxy.setPullLabel("下拉刷新");
    loadingLayoutProxy.setRefreshingLabel("正在刷新");
    loadingLayoutProxy.setReleaseLabel("刷新成功");
    ILoadingLayout loadingLayoutProxy1 = pullToRefreshListView.getLoadingLayoutProxy(false, true);
    loadingLayoutProxy1.setPullLabel("上拉加载");
    loadingLayoutProxy1.setRefreshingLabel("正在加载");
    loadingLayoutProxy1.setReleaseLabel("加载成功");//添加监听
    pullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
        @Override
        public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
            page=1;//如果刷新 把page改为1 并再调用getData方法
            getData();
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    pullToRefreshListView.onRefreshComplete();
                }
            },2000);
        }
        @Override
        public void onPullUpToRefresh(final PullToRefreshBase<ListView> pullToRefreshBase) {
            page+=1;//如果加载就讲page+1再调用getData方法
            getData();
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    pullToRefreshBase.onRefreshComplete();
                }
            },2000);
        }
    });
    adapter=new MyBase(list,getActivity());//最后设置适配器
    pullToRefreshListView.setAdapter(adapter);

}

那么写到这里就差不多了 

希望这篇文章以及\前面的那些文章对大家有所帮助

猜你喜欢

转载自blog.csdn.net/big_fff/article/details/80852518