RecylerView的使用
来源:互联网 发布:无损音乐软件 编辑:程序博客网 时间:2024/05/21 01:57
RecylerView是类似于ListView、GridView的控件,但是它标准化了ViewHolder,而且比ListView、GridView这些控件更加灵活,并且还能够实现他们不能实现的功能,在布局管理器中可以设置多种格式:1、LinearLayoutManager可以使内容线性排列,横向或纵向,下一个参数是布尔类型的参数。2、GridLayoutManager 是网格式布局管理,第二个参数是int类型的数字,你想让布局显示几列就可以设置成为几,第三个参数可以设置横纵向,第四个参数是布尔类型的参数。3、StaggeredGridLayoutManager 是上面那两个控件不能实现的功能,
他是瀑布流,其参数和网格式布局的参数一样,但显示的效果不一样
在MainActivity中的
public class MainActivity extends AppCompatActivity {
RecyclerView rv;
//初始化数据的图片数组
int[] mListIcons = new int[]{};
//初始化数据的标题数组
String[] mListTitle = new String[]{};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找到布局中的ReclerView控件
rv = (RecyclerView) findViewById(R.id.rv);
//初始化数据的方法
initData();
}
private void initData() { //样式,boolean代表展示的方向 //线性布局管理器 //LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false); //网格式布局管理器 GridLayoutManager layoutManager=new GridLayoutManager(this,3,GridLayoutManager.VERTICAL,false); //瀑布流式布局管理器 //StaggeredGridLayoutManager layoutManager=new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL); //关联布局管理器 rv.setLayoutManager(layoutManager); //设置适配器 rv.setAdapter(new RecyclerView.Adapter() { @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { //加载RecylerView的样式布局 View view = View.inflate(parent.getContext(), R.layout.item, null); RecyclerView.ViewHolder viewHolder = new RvViewholder(view); return viewHolder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { //进行数据设置 RvViewholder myViewholder = (RvViewholder) holder; //设置图片 myViewholder.itemIv.setImageResource(mListIcons[position]); //设置标题数据 myViewholder.itemTv.setText(mListTitle[position]); }//重写得到条目的数量 @Override public int getItemCount() { return mListIcons.length; }
//ViewHolder优化
class RvViewholder extends RecyclerView.ViewHolder {
public ImageView itemIv; public TextView itemTv; /** * 初始化控件 */ public RvViewholder(View itemView) { super(itemView); itemIv = (ImageView) itemView.findViewById(R.id.item_iv); itemTv = (TextView) itemView.findViewById(R.id.item_tv); } } });}
}
总结
可以看见相比于ListView,RecyclerView非常灵活,但其实这篇文章只是介绍了RecyclerView的基本使用,并没有深入的进行介绍。在使用RecyclerView时候,必须指定一个适配器Adapter和一个布局管理器LayoutManager。适配器继承RecyclerView.Adapter类,具体实现类似ListView的适配器,取决于数据信息以及展示的样式。布局管理器用于确定RecyclerView中Item的展示方式以及决定何时用Item,避免重复创建。
- recylerview的使用
- recylerview的简单使用
- RecylerView的使用
- RecylerView的复杂使用
- RecylerView与CardView的使用
- RecylerView的基本使用(个人备忘录)
- RecylerView的使用(相当于Listview和 GridView)
- RecylerView基本使用
- 使用了fresco和recylerView的下拉刷新的Apk
- 关于RecylerView的初探
- RecylerView 的用法
- RecylerView 的应用
- RecylerView的用法解析
- android RecylerView的用法
- RecylerView的基本用法
- recylerView
- RecylerView
- recylerview~
- 【Spring】引入(一)
- Java线程技术点与实例
- Mac OS无法进入系统/数据备份/重装系统方法步骤
- Spark打印每个split及其对应文件
- 初识junit4
- RecylerView的使用
- 天天和不可描述
- NSAttributedString分类-计算富文本高度
- zip格式文件伪加密
- gcc命令
- 进程间的通信方式?
- 洛谷p1330 封锁阳光大学-二分图染色
- 教你怎么编写高效的JSON工具类
- 【Spring】专业术语了解(二)