RecylerView的基本使用(个人备忘录)
来源:互联网 发布:聊天室软件开发 编辑:程序博客网 时间:2024/05/22 09:40
一、添加依赖库
想要使用RecyclerView需要在Dependencies闭包中添加如下内容:
compile 'com.android.support:recyclerview-v7:24.2.1'
二、在布局中创建RecyclerView控件:
<android.support.v7.widget.RecyclerView android:id="@+id/recyler_view" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" />
为RecyclerView设置item布局:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="55dp" android:background="@drawable/recycler_item_selector" android:orientation="vertical"> <TextView android:id="@+id/notes_content" android:layout_width="match_parent" android:layout_height="54.5dp" android:ellipsize="end" android:gravity="center_vertical" android:paddingLeft="16sp" android:singleLine="true" android:text="hello lanbots" android:textColor="#333333" android:textSize="15sp" /> <View android:layout_width="match_parent" android:layout_height="0.5dp" android:layout_marginLeft="16dp" android:background="#dedede" /></LinearLayout>
三、RecyclerView的适配器:
package com.linbots.simplenotes.ui.adapter;import android.content.Context;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;import com.linbots.simplenotes.R;import com.linbots.simplenotes.db.Notes;import java.util.List;import butterknife.BindView;import butterknife.ButterKnife;/** * Created by LinBots on 2017/4/24. */public class NotesAdapter extends RecyclerView.Adapter<NotesAdapter.ViewHolder> { private Context context; private List<Notes> mList; public NotesAdapter(Context context, List<Notes> mList) { this.context = context; this.mList = mList; } static class ViewHolder extends RecyclerView.ViewHolder { @BindView(R.id.notes_content) TextView notesContent; public ViewHolder(View itemView) { super(itemView); ButterKnife.bind(this, itemView); } } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.item_notes, parent, false); ViewHolder viewHolder = new ViewHolder(view); return viewHolder; } @Override public void onBindViewHolder(ViewHolder holder, int position) { Notes notes = mList.get(position); holder.notesContent.setText(notes.getContent()); } @Override public int getItemCount() { return mList.size(); }}
四、Activity的代码如下:
@BindView(R.id.recyler_view) RecyclerView mRecyclerView; private NotesAdapter mAdapter;
LinearLayoutManager layoutManager = new LinearLayoutManager(this); mRecyclerView.setLayoutManager(layoutManager); mAdapter = new NotesAdapter(this, notes); mRecyclerView.setAdapter(mAdapter);
RecyclerView的使用和ListView很相似。
RecyclerView需要通过setLayoutManager()方法设置布局管理器,RecyclerView有三个默认布局管理器LinearLayoutManager、GridLayoutManager、StaggeredGridLayoutManager,都支持横向和纵向排列以及反向滑动。如果想把RecyclerView改为横向滑动,也可以通过调用
layoutManager.setOrientation(GridLayoutManager.HORIZONTAL);
RecyclerView不像ListView一样提供item的点击监听,所以我们只能自己实现。RecyclerView的item点击事件监听可以为item的view设置监听,也可以在mRecyclerView.addOnItemTouchListener里去判断手势来实现。
通过调用如下方法可以设置item加载或移除时的动画
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
五、效果图
阅读全文
0 0
- RecylerView的基本使用(个人备忘录)
- RecylerView基本使用
- RecylerView的基本用法
- recylerview的使用
- recylerview的简单使用
- RecylerView的使用
- RecylerView的复杂使用
- RecylerView与CardView的使用
- css的个人备忘录
- RecylerView的使用(相当于Listview和 GridView)
- RecylerView基本用法
- 为RecyclerView添加item的点击事件(个人备忘录)
- 使用了fresco和recylerView的下拉刷新的Apk
- Markdown的基本操作备忘录
- 关于RecylerView的初探
- RecylerView 的用法
- RecylerView 的应用
- RecylerView的用法解析
- JQuery编写的定时器实现时钟
- 开启Tomcat APR运行模式,优化并发性能
- 面试题7:用两个栈实现队列
- elasticsearch5.4.1 安装
- Android笔记(七)SystemUI通知栏框架
- RecylerView的基本使用(个人备忘录)
- C++中的lower_bound()与upper_bound()
- [LeetCode] 90. Subsets II
- 高级控件ViewPager
- 数据结构学习方法
- imwrite用法(opencv存图像)
- 关于时间的所有说明: Date DateComponents Calendar DateFormatter IOS Swift 3.0
- 未解决的错误
- 操作系统移动臂调度算法