RecyclerView的基础使用
来源:互联网 发布:js删除class属性 编辑:程序博客网 时间:2024/06/04 18:48
先引入RecyclerView依赖包,V7下的,兼容到API17
compile 'com.android.support:mediarouter-v7:25.0.0'compile 'com.android.support:appcompat-v7:25.0.0'compile 'com.android.support:recyclerview-v7:25.0.0'
Activity的布局
<android.support.v7.widget.RecyclerView android:id="@+id/id_recyclerview" android:divider="#ffff0000" android:dividerHeight="10dp" android:layout_width="match_parent" android:layout_height="match_parent" />
item的布局
<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:background="#44ff0000" android:layout_height="wrap_content" > <TextView android:id="@+id/id_num" android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center" android:text="1" /></FrameLayout>
MainActivity中
public class MainActivity extends AppCompatActivity { private RecyclerView mRecyclerView; private List<String> mDatas; private HomeAdapter mAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); mRecyclerView = (RecyclerView) findViewById(R.id.id_recyclerview); //mRecyclerView.setLayoutManager(new LinearLayoutManager(this));//listview展示 //mRecyclerView.setLayoutManager(new GridLayoutManager(this,4));//gridview展示 mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL)); //设置item之间的间隔 SpacesItemDecoration decoration=new SpacesItemDecoration(30); mRecyclerView.addItemDecoration(decoration); //添加适配器 mRecyclerView.setAdapter(mAdapter = new HomeAdapter()); //添加分割线 mRecyclerView.addItemDecoration(new DividerItemDecoration( MainActivity.this, DividerItemDecoration.VERTICAL )); //添加分割线 mRecyclerView.addItemDecoration(new DividerItemDecoration( MainActivity.this, DividerItemDecoration.HORIZONTAL )); }//添加数据 protected void initData() { mDatas = new ArrayList<String>(); for (int i = 'A'; i < 'z'; i++) { mDatas.add("" + (char) i); } }//添加适配器 class HomeAdapter extends RecyclerView.Adapter<HomeAdapter.MyViewHolder> { @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { MyViewHolder holder = new MyViewHolder(LayoutInflater.from( MainActivity.this).inflate(R.layout.item_home, parent, false)); return holder; } @Override public void onBindViewHolder(MyViewHolder holder, int position) { holder.tv.setText(mDatas.get(position)); } @Override public int getItemCount() { return mDatas.size(); } class MyViewHolder extends RecyclerView.ViewHolder { TextView tv; public MyViewHolder(View view) { super(view); tv = (TextView) view.findViewById(R.id.id_num); } } } public class SpacesItemDecoration extends RecyclerView.ItemDecoration { private int space; public SpacesItemDecoration(int space) { this.space=space; } @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { outRect.left=space; outRect.right=space; outRect.bottom=space; if(parent.getChildAdapterPosition(view)==0){ outRect.top=space; } } }}
阅读全文
0 0
- recyclerView的基础使用
- RecyclerView的基础使用
- RecyclerView的基础使用与拓展
- RecyclerView+RecyclerView.Adapter+RecyclerView.ViewHolder的使用
- 最基础的RecyclerView
- RecyclerView详解之基础使用
- RecyclerView详解之基础使用
- RecyclerView的使用
- RecyclerView的使用
- RecyclerView 的使用详解
- RecyclerView的基本使用
- RecyclerView的使用
- Android -- RecyclerView的使用
- RecyclerView的使用
- CardView,RecyclerView的使用
- 关于RecyclerView的使用
- RecyclerView的使用
- RecyclerView的使用(一)
- spring boot框架学习学前掌握之重要注解(1)-sprng的java配置方式
- html div 不换行超出显示省略号
- 循环语句(while和do whiles)
- Python for循环举例
- vue proxyTable 接口跨域请求调试(代理)
- RecyclerView的基础使用
- ubuntu linux 更换 阿里云 软件源 安装 svn
- [动态规划] LCS最长公共子序列问题
- OpenStack Tacker介绍
- Nginx php下实现rewrite和pathinfo
- Ubuntu配置腾讯ssl
- asset
- HTML5存储方式总结
- Ubuntu卸载掉不需要的软件