瀑布流和Banner效果的使用

//布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="xal.cn.com.moni.Main2Activity">
<android.support.v7.widget.RecyclerView
    android:id="@+id/mrecycle"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />
</LinearLayout>



Activity代码
public class Main2Activity extends AppCompatActivity {
    ArrayList<Bean.DataBean> list = new ArrayList<>();
    @BindView(R.id.mrecycle)
    RecyclerView mrecycle;
    private MyAdapter adapter;
    private ProgressDialog dialog;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        ButterKnife.bind(this);
        mrecycle.setLayoutManager(new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL));
        adapter = new MyAdapter(list,this);
        mrecycle.setAdapter(adapter);
        adapter.setOnClickLinser(new MyAdapter.Linsern() {
            @Override
            public void onclick(int position) {
                Intent intent =new Intent(Main2Activity.this,Main3Activity.class);
                intent.putExtra("image",list.get(position).getGoods_img());
                intent.putExtra("image1",list.get(0).getGoods_img());
                startActivity(intent);

            }
        });
        SpacesItemDecoration decoration=new SpacesItemDecoration(16);
        mrecycle.addItemDecoration(decoration);
        pro();
        initData();
    }

    private void initData() {
        OkhttpUtils.getInstance().getNetData("http://m.yunifang.com/yunifang/mobile/goods/getall?random=60305&encode=b0358434fda8d7478bfc325b5828b721&category_id=17", new OkhttpUtils.CallBacks() {
            @Override
            public void getString(String ss) {
                Gson gson = new Gson();
                Bean bean = gson.fromJson(ss, Bean.class);
                final List<Bean.DataBean> data = bean.getData();
//                String img = data.get(0).getGoods_img();
                list.addAll(data);
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        dialog.dismiss();
                        adapter.notifyDataSetChanged();
                    }
                });
            }
        });

    }

    private void pro() {
        dialog = new ProgressDialog(this);
        dialog.setMessage("正在加载.....");
        dialog.show();
    }
}
//设置间隔
 
 
public class SpacesItemDecoration extends RecyclerView.ItemDecoration  {

    private int space;

    public SpacesItemDecoration(int space) {
        this.space=space;
    }

    @Override
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
        outRect.left=space;
        outRect.right=space;
        outRect.bottom=space;
        if(parent.getChildAdapterPosition(view)==0){
            outRect.top=space;
        }
    }
}

//Banner
 
 
 
 
public class Main3Activity extends AppCompatActivity {

    @BindView(R.id.banner)
    Banner banner;
    ArrayList<String> images =new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        ButterKnife.bind(this);
        Intent intent = getIntent();
        String image = intent.getStringExtra("image");
        String image1 = intent.getStringExtra("image1");
        images.add(image);
        images.add(image1);
        //设置图片加载器
        banner.setImageLoader(new GlideImageLoader());
        //设置图片集合
        banner.setImages(images);

        //banner设置方法全部调用完毕时最后调用
        banner.start();



    }
}
//Banner所需要的类、
 
 
public class GlideImageLoader extends ImageLoader {
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {


        //Glide 加载图片简单用法
        Glide.with(context).load(path).into(imageView);


        //用fresco加载图片简单用法,记得要写下面的createImageView方法
        Uri uri = Uri.parse((String) path);
        imageView.setImageURI(uri);
    }
}
 
 
点击打开链接


猜你喜欢

转载自blog.csdn.net/qq_38875767/article/details/77774589