RecyclerView是Android L家第一个美女,我要认识她。

来源:互联网 发布:淘宝助理 批量上传 编辑:程序博客网 时间:2024/05/17 03:39

事到如今,对于RecyclerView的认识相信大家都已经知晓了。视图漂亮,易于扩展,操作渐变。。。等等。我们大多都听说过她为人称道的美丽,却囿于eclipse被google抛弃而望而兴叹。今天装上as,迫不及待的去亲眼目睹一下RecyclerView的风采。

首先建立一个RecyclerView project,引入recycle的依赖。


因为是第一次初识recycleview,所以我放弃别的控件,把整个recycleview设为布局:

    @Override    protected void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        rv = new RecyclerView(this);        setContentView(rv);
好了。到现在,算是见到了recycle小姐。可是,我们的目的不是远远的看一眼而已!!!你懂的。

那么我们就去say:hello girl


泡妞不外乎高富帅这三个神器,泡recycle小姐呢也需要神器,哦,不对,是纯洁的结识。结识recycle小姐需要的神器是LayoutManager,ItemDecoration , ItemAnimator。

LayoutManager——布局管理器。管理显示的方式。

ItemDecoration ——Item的间隔控制器。管理driver的。

ItemAnimator——动画控制器。控制增添删除item的动画。

so,当我们知道了这三个神器,那么久大胆的去约吧:


首先献给recycle小姐第一个神器

rv.setLayoutManager(new LinearLayoutManager(this));


然后像listView抑或gridView一样的设置adpter:

rv.setAdapter(new RecyclerView.Adapter()
因为是初识,所以我要简单得来,我就用了匿名内部类。。。


这个adpter里重写方法:

@Overridepublic RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType){    return null;}@Overridepublic void onBindViewHolder(RecyclerView.ViewHolder holder, int position){}@Overridepublic int getItemCount(){    return 0;}


前两个方法有个我们常见的viewHolder,所以我们要创建viewHolder:

class ViewHold extends RecyclerView.ViewHolder{    private TextView tv;    public ViewHold(TextView itemView)    {        super(itemView);        tv = itemView;    }    public TextView getTv()    {        return tv;    }}



ok,把这个viewHolder传到adpter的方法里:

@Overridepublic RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType){    return new ViewHold(new TextView(parent.getContext()));}@Overridepublic void onBindViewHolder(RecyclerView.ViewHolder holder, int position){   ViewHold vh = (ViewHold) holder;    vh.getTv ().setText("item"+position);}


下面修改item的数量为10:

@Overridepublic int getItemCount(){    return 10;}


运行:


recycle的第一面已经见到啦。

0 0
原创粉丝点击