RecycleView的三种实现方式
来源:互联网 发布:log4j 只输出sql 编辑:程序博客网 时间:2024/05/22 07:18
今天给大家分享一下RecycleView的三种实现方式,他可以代替ListView和GridView来实现各种布局效果。和大家分享一下我的代码,
就一个Activity类
把注释给去掉就能实现不同的效果这个就是一个简单的ListView。当然也需要一个item布局
package com.example.myapplication;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.support.v7.widget.StaggeredGridLayoutManager;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private List<String> data; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //模拟数据 data=new ArrayList<String>(); for (int i='A';i<='z';i++){ data.add(""+(char) i); } //找到Recyclerview RecyclerView recylcer= (RecyclerView) findViewById(R.id.recyclerView); //ListView效果的LinearLayoutManager LinearLayoutManager mgr=new LinearLayoutManager(this); //GridLayoutManager mgr=new GridLayoutManager(this,3); //StaggeredGridLayoutManager mgr = new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.VERTICAL); mgr.setOrientation(LinearLayoutManager.VERTICAL); recylcer.setLayoutManager(mgr); //设置适配器 recylcer.setAdapter(new MyAdapter()); } public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder>{ @Override public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View v=getLayoutInflater().inflate(R.layout.item,null); return new ViewHolder(v); } @Override public void onBindViewHolder(MyAdapter.ViewHolder holder, int position) { holder.textView.setText(data.get(position)); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, 100+(int) (Math.random() * 50)); holder.imageView.setLayoutParams(lp); } @Override public int getItemCount() { return data.size(); } class ViewHolder extends RecyclerView.ViewHolder{ TextView textView; ImageView imageView; public ViewHolder(View itemView) { super(itemView); textView=(TextView) itemView.findViewById(R.id.textView); imageView=(ImageView) itemView.findViewById(R.id.imageView); } } }}
阅读全文
0 0
- RecycleView的三种实现方式
- RecycleView 实现复杂首页布局三种方式
- android开发游记:RecycleView 实现复杂首页布局三种方式
- android开发游记:RecycleView 实现复杂首页布局三种方式
- android开发游记:RecycleView 实现复杂首页布局三种方式
- android开发游记:RecycleView 实现复杂首页布局三种方式
- android开发游记:RecycleView 实现复杂首页布局三种方式
- android开发游记:RecycleView 实现复杂首页布局三种方式
- RecycleVIew添加和删除,以及三种展现方式
- recycleview三种布局
- pulltorefresh 实现瀑布流的方式(基于recycleview)
- RecycleView的简单实现
- RecycleView的实现
- RecycleView设置点击的两种方式:adapter中的onBindViewHolder(VH,int)方法中进行;实现RecyclerView的addonItemTouchListerner()
- 实现 Java 平台的三种方式
- 实现 Java 平台的三种方式
- 实现 Java 平台的三种方式
- 自定义表单的三种方式实现
- Karaf教程第6部分-数据库访问
- 数据库的约束和对应关系
- java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()L
- 删除字符串中出现最少次数的字符
- 博一总结
- RecycleView的三种实现方式
- Karaf教程第7部分- Camel JPA和JTA事务
- 数据库的多表查询
- OJ---敌兵布阵
- maven中整合ueditor步骤与常见问题(一)
- lua脚本学习2
- 自定义View的多个情况
- 【缓存】缓存中常见的4种问题分析以及解决方案
- 用Springdata Jpa给指定字段排序