圆角简单设置和recyclerView的大体使用

设置圆角
Glide.with(context).applyDefaultRequestOptions(RequestOptions.bitmapTransform(new RoundedCorners(30))).load(list.get(i).getA()).into(myRecycler.imageView);

recyclerView的操做和listView有些相同
先导入依赖
implementation ‘com.android.support:recyclerview-v7:28.0.0’
三种recyclerView布局方式分别为《listView 式,GridView网格式 瀑布式》
LinearLayoutManager manager=new LinearLayoutManager(this);//传入上下文
GridLayoutManager manager1=new GridLayoutManager(this,2);//第一个上下文,第二个几列
StaggeredGridLayoutManager manager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);//第一个参数几列,第二个垂直形式

需要注意recyclerView添加适配后必须设置布局类型,否则无效果

recyclerView.setLayoutManager(布局样式)//最后添加到recyclerView中;

一下代码均为适配器操做
MyHolder extends RecyclerView.Adapter {//泛型自定义的
private Context context;
private Listlist;

public MyHolder(Context context, List list) {
    this.context = context;
    this.list = list;
}

//创建
@NonNull
@Override
public Mythreads onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(context).inflate(R.layout.layout_bai, null);//TODo 瀑布布局填充器root必须为null
return new Mythreads(view);
}
//绑定
@Override
public void onBindViewHolder(@NonNull Mythreads mythreads, final int i) {
mythreads.textView.setText(list.get(i).getName());
Glide.with(context).load(list.get(i).getImage1()).into(mythreads.imageView1);
RequestOptions requestOptions=new RequestOptions();
requestOptions.circleCrop();
Glide.with(context).load(list.get(i).getProfile_image()).apply(requestOptions).into(mythreads.imageView2);
mythreads.itemView.setOnLongClickListener(new View.OnLongClickListener() {//接口回调
@Override
public boolean onLongClick(View v) {
mythreasd.longs(i);
return true;
}
});

}

//数量
@Override
public int getItemCount() {
return list.size();
}

class MyViewHolder   extends RecyclerView.ViewHolder{

TextView textView;
ImageView imageView1,imageView2;

    public Mythreads(@NonNull View itemView) {
        super(itemView);
        textView=itemView.findViewById(R.id.text_li);
        imageView1=itemView.findViewById(R.id.mv1);
     imageView2=itemView.findViewById(R.id.mv2);
     //随即图片高度
        ViewGroup.LayoutParams layoutParams = imageView1.getLayoutParams();
        int a=(int)(Math.random()*(500-100+1)+100);//TODO 大数减小数加以外再加小数
        layoutParams.height=a;

    }
}
Mythreasd mythreasd;//接口

public void setMythreasd(Mythreasd mythreasd) {
    this.mythreasd = mythreasd;
}

}

你可能感兴趣的:(二)