RecyclerView初步认识
2016-01-27 16:21
232 查看
1 引入包:com.android.support:recyclerview-v7:23.1.0
】知识点
//支持5.0新特性
compile ‘com.android.support:design:23.1.0’
一 在android studio添加包时,搜索
com.android.support:recyclerview-v7:23.1.0
二 各种item的摆放方式
① 横向的ListView,只需要设置LinearLayoutManager的方向
② 网格布局
三 item之间的分割线
】知识点
//支持5.0新特性
compile ‘com.android.support:design:23.1.0’
一 在android studio添加包时,搜索
com.android.support:recyclerview-v7:23.1.0
二 各种item的摆放方式
① 横向的ListView,只需要设置LinearLayoutManager的方向
//创建线性布局 LinearLayoutManager layout = new LinearLayoutManager(this); layout.setOrientation(LinearLayoutManager.HORIZONTAL);
② 网格布局
LinearLayoutManager layout = new GridLayoutManager(MainActivity.this,5); 说明:第二个参数设置item的个数,方向如果是横向的,纵向有5个,方向是纵向,则横向有5个item
三 item之间的分割线
可以在xml文件中添加ImageView设置背景色实现
package com.kk; import android.app.Activity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import java.util.ArrayList; import java.util.List; public class MainActivity extends Activity { private RecyclerView recyclerView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); recyclerView = (RecyclerView) findViewById(R.id.rc); //创建线性布局 LinearLayoutManager layout = new LinearLayoutManager(this); recyclerView.setLayoutManager(layout); //添加适配器 recyclerView.setAdapter(new Myadapter(getData())); } private List<String> getData() { List<String> list = new ArrayList<String>(); for (int i = 0; i < 100; i++) { list.add("item" + i); } return list; } /** * RecyclerView的适配器 */ class Myadapter extends RecyclerView.Adapter<Myadapter.MyHolder> { private List<String> list; public Myadapter(List<String> list) { this.list = list; } /** * 创建新的view,被LayoutManager调用 * * @param parent * @param viewType * @return */ @Override public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.item_recyclerview, parent,false); MyHolder myHolder = new MyHolder(view); return myHolder; } /** * 将数据与界面进行绑定 * * @param holder * @param position */ @Override public void onBindViewHolder(MyHolder holder, int position) { holder.tv.setText(list.get(position)); } @Override public int getItemCount() { return list.size(); } /** * 自定义ViewHolder继承 RecyclerView.ViewHolder * * @author Administrator */ public class MyHolder extends RecyclerView.ViewHolder { public TextView tv; public MyHolder(View itemView) { super(itemView); tv=(TextView)itemView.findViewById(R.id.tv); } } } }
相关文章推荐
- VMware建立一个裸机linux
- STL视频_00
- Linux Centos 6.6安装Mysql
- 研发工作中的体验和感悟
- MT8382
- 三:IOS图像学习(原以及实例参考)
- VIM的列编辑操作
- 例子
- 【ZJOI2008】【BZOJ1034】泡泡堂BNB
- java反射机制
- 简易jQuery对话框组件、弹窗插件
- JAVA基础笔记之StringBuilder和StringBuffer
- 关于CSV文件导入到数据的方法以及遇到的问题和解决方案
- linux与windows之间传输文件工具rz上传大文件失败问题解决方案
- 做技术的大神,做事对人都是很谦逊的人么
- ExtJS让被遮盖的窗体显示在最前面以及解决Ext.MessageBox提示框被TabPanel覆盖的方法【转】
- 鼠标滚轮 控制作用滚动
- 委托
- 合唱团
- android不同的按钮一起点击崩溃解决