- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android RecyclerView 体验艺术般的控件.doc
Android RecyclerView 体验艺术般的控件
Android RecyclerView--体验艺术般的控件
概述
RecyclerView 出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入 support-v7
对其进行使用。
据官方的介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件我们并不陌生,
例如:ListView、GridView。
那么有了 ListView、 GridView 为什么还需要 RecyclerView 这样的控件呢?整体上看
RecyclerView 架构,提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同
LayoutManager,ItemDecoration , ItemAnimator 实现令人瞠目的效果。
1.你想要控制其显示的方式,请通过布局管理器 LayoutManager
2.你想要控制 Item 间的间隔(可绘制),请通过 ItemDecoration
3.你想要控制 Item 增删的动画,请通过 ItemAnimator
4.你想要控制点击、长按事件,请自己写(擦,这点尼玛。)
基本使用
鉴于我们对于 ListView 的使用特别的熟悉,对比下 RecyclerView 的使用代码:
mRecyclerView = findView(R.id.id_recyclerview);
//设置布局管理器
mRecyclerView.setLayoutManager(layout);
//设置 adapter
mRecyclerView.setAdapter(adapter)
//设置 Item 增加、移除动画
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
//添加分割线
mRecyclerView.addItemDecoration(new DividerItemDecoration(
getActivity(), DividerItemDecoration.HORIZONTAL_LIST));
ok,相比较于 ListView 的代码,ListView 可能只需要去设置一个 adapter 就能正常使用了。而
RecyclerView 基本需要上面一系列的步骤,那么为什么会添加这么多的步骤呢?
那么就必须解释下 RecyclerView 的这个名字了,从它类名上看,RecyclerView 代表的意义是,
我只管 Recycler 6#00aa00View,也就是说 RecyclerView 只管回收与复用 #00aa00View,其他的你可以自己去设置。
可以看出其高度的解耦,给予你充分的定制自由(所以你才可以轻松的通过这个控件实现
ListView,GirdView,瀑布流等效果)。
Just like ListView
Activity
package com.zhy.sample.demo_recyclerview;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.RecyclerView.ViewHolder;
import android.#00aa00view.LayoutInflater;
import android.#00aa00view.#00aa00View;
import android.#00aa00view.ViewGroup;
import android.widget.TextView;
public class HomeActivity extends ActionBarActivity
{
private RecyclerView mRecyclerView;
private List mDatas;
private HomeAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_single_recyclervi
文档评论(0)