//布局管理器 一排的
recycleView.setLayoutManager(new LinearLayoutManager(this,LinearLayout.VERTICAL,false));
瀑布流
//瀑布流
//StaggeredGridLayoutManager.VERTICAL代表有多少列;
// StaggeredGridLayoutManager.HORIZONTAL代表有多少行
recycleView.setLayoutManager(new StaggeredGridLayoutManager
(3, StaggeredGridLayoutManager.VERTICAL));
gradview样式的
recycleView.setLayoutManager(new GridLayoutManager(this,3));
recycleview一系列的
//增加,移除动画
recycleView.setItemAnimator(new DefaultItemAnimator());
//条目点击
madapter.setItemClick(new Madapter.ItemClick() {
@Override
public void itemc(View view,int Position) {
Toast.makeText(MainActivity.this,"哈哈哈哈哈"+Position,Toast.LENGTH_SHORT).show();
}
});
adpater
public class Madapter extends RecyclerView.Adapter<Madapter.ViewHolder> {
private final MainActivity mainActivity;
private final List<String> dlist;
public Madapter(MainActivity mainActivity, List<String> dlist) {
this.mainActivity = mainActivity;
this.dlist = dlist;
}
@NonNull
@Override
//创建viewholder
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = View.inflate(mainActivity, R.layout.item_list, null);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
//这一步就是给他们控件的东西
@Override
public void onBindViewHolder(@NonNull final ViewHolder viewHolder, int i) {
viewHolder.tv.setText(dlist.get(i));
//条目点击事件
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int layoutPosition = viewHolder.getLayoutPosition();
mItemClick.itemc(viewHolder.itemView,layoutPosition);
}
});
}
//获取总条目数
@Override
public int getItemCount() {
return dlist.size();
}
//获取控件
public class ViewHolder extends RecyclerView.ViewHolder {
ImageView image;
TextView tv;
public ViewHolder(@NonNull final View itemView) {
super(itemView);
image = itemView.findViewById(R.id.image);
tv = itemView.findViewById(R.id.tv);
}
}
//定义接口
public interface ItemClick{
void itemc(View view,int Position);
}
public ItemClick mItemClick;
public void setItemClick(ItemClick itemClick){
mItemClick=itemClick;
}
}
本文详细介绍了Android中RecyclerView的多种布局方式,包括LinearLayoutManager、StaggeredGridLayoutManager和GridLayoutManager的使用方法,以及如何添加ItemAnimator实现动画效果。同时,还讲解了如何设置条目点击事件。
1094

被折叠的 条评论
为什么被折叠?



