废话不多说,直接上代码
ManiActivity里代码
public class MainActivity extends AppCompatActivity { private RecyclerView recycler_view; private List<Bean> list; private int[] icons={R.drawable.m,R.drawable.mm,R.drawable.mmm,R.drawable.mmmm,R.drawable.mmmmm}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化控件 initView(); //初始化数据 initData(); //List效果展示 //initViewOper(); //瀑布流展示 initViewStaggered(); } //初始化控件 private void initView() { recycler_view = (RecyclerView) findViewById(R.id.recycler_view); } //初始化数据 private void initData() { //创建集合 list = new ArrayList<>(); //随机数 Random random = new Random(); //填充数据 for (int i = 0; i < icons.length ; i++) { Bean bean = new Bean(); bean.pic=icons[i]; bean.type=random.nextInt(3); list.add(bean); } } //展示效果 private void initViewOper() { //布局管理器 LinearLayoutManager lineatlayoutmanager = new LinearLayoutManager(this); recycler_view.setLayoutManager(lineatlayoutmanager); //创建适配器 Recycler_adapter adapter = new Recycler_adapter(list); //设置适配器 recycler_view.setAdapter(adapter); } private void initViewStaggered(){ //布局管理器 StaggeredGridLayoutManager staggerd = new StaggeredGridLayoutManager(3,LinearLayoutManager.VERTICAL); recycler_view.setLayoutManager(staggerd); //创建适配器 Recycler_adapter adapter = new Recycler_adapter(list); //设置适配器 recycler_view.setAdapter(adapter); }
}
适配器里代码
public class Recycler_adapter extends RecyclerView.Adapter{ //定义三种常量 表示三种条目类型 public static final int TYPE_PULL_IMAGE = 0; public static final int TYPE_RIGHT_IMAGE = 1; public static final int TYPE_THREE_IMAGE = 2; private List<Bean> list; public Recycler_adapter(List<Bean> list) { this.list = list; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i)