RecyclerView的简单使用方法(一)

1、在build中引入compile ‘com.android.support:recyclerview-v7:25.3.1‘

2、在activity中布局如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.example.myapplication.MainActivity">   <android.support.v7.widget.RecyclerView       android:id="@+id/recycylview"       android:layout_width="match_parent"       android:layout_height="wrap_content">   </android.support.v7.widget.RecyclerView></RelativeLayout> 
item.xml布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:background="@color/colorPrimary"    android:gravity="center"    android:padding="20dp"    android:layout_height="match_parent"><TextView    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:id="@+id/text"    android:layout_gravity="center"    android:gravity="center"    android:text="Hello"    android:textSize="20dp"    android:padding="20dp"    android:textColor="#fff"/></LinearLayout>

3.在MainActivity中代码如下:
private RecyclerView mRecyclerView;private List<String> datas = new ArrayList();private  MyAdapter mAdapter;

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);

mRecyclerView = (RecyclerView) findViewById(R.id.recycylview);    mAdapter = new MyAdapter(datas);    mRecyclerView.setAdapter(mAdapter);    mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(4,StaggeredGridLayoutManager.HORIZONTAL));//可以设置列表模式    mRecyclerView.addItemDecoration(new MyItemDacoration(this));//加载列表样式    initDatas();

}private void initDatas(){    datas.add("New York");    datas.add("Boston");    datas.add("New York");    datas.add("New York");    datas.add("New York");    datas.add("New York");    datas.add("New York");    datas.add("New York");    datas.add("New York");    datas.add("New York");    datas.add("New York");

}

4.适配器代码:

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {    private List<String> mDatas ;   private MyAdapter mAdapter;   private LayoutInflater inflater;    public MyAdapter(List<String> datas){        mDatas =datas;

}    @Override    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        inflater = LayoutInflater.from(parent.getContext());        View view  = inflater.inflate(R.layout.item,parent,false);        return new ViewHolder(view);    }

@Override    public void onBindViewHolder(ViewHolder holder, int position) {//绑定数据        holder.textView.setText(mDatas.get(position));

}

@Override    public int getItemCount() {        return mDatas.size();    }

class ViewHolder extends RecyclerView.ViewHolder{        private TextView textView;

public ViewHolder(View itemView) {            super(itemView);            textView = (TextView) itemView.findViewById(R.id.text);        }    }}

5、新建dimen.xml文件

<dimen name="divider">10dp</dimen>  />
6.新建Java文件设置列表样式:
public class MyItemDacoration extends RecyclerView.ItemDecoration {    private int divider;

public MyItemDacoration(Context context) {        //即你要设置的分割线的宽度 --这里设为10dp        divider = context.getResources().getDimensionPixelSize(R.dimen.divider);    }

@Override    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {        super.getItemOffsets(outRect, view, parent, state);//        outRect.left = divider;  //相当于 设置 left padding//        outRect.top = divider;   //相当于 设置 top padding//        outRect.right = divider; //相当于 设置 right padding        outRect.bottom = divider;  //相当于 设置 bottom padding    }
时间: 2024-11-04 14:44:46

RecyclerView的简单使用方法(一)的相关文章

[Android]RecyclerView的简单示例

去年google的IO上就展示了一个新的ListView,它就是RecyclerView. 以下是官方的说明,我英语能力有限,不过我大概这么理解:RecyclerView会比ListView更具有拓展性,使用更有效率,而且更灵活了,具体怎么样,时隔一年,我们也发现了它越来越强大,所以有必要去认识一下这个小伙伴了. The RecyclerView widget is a more advanced and flexible version of ListView. This widget is

MySQL笔记-最简单的方法来解决找不到mysqld.sock文件的问题

首先,环境:ubuntu 14.04,采用apt-get的方式安装的,手动安装可能路径设置稍有区别. 1.安装MySQL后,用命令行首次启动时发现找不到Mysqld.sock文件,提示: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2),如图: 2.网上的方法很多不实用,这里介绍一种最简单的方法来解决这个问题. # sudo /etc/i

php批量删除cookie的简单实现方法

这篇文章主要介绍了php批量删除cookie的简单实现方法,实例分析了删除单个cookie及数组遍历的方式批量删除cookie的技巧与相关注意事项,需要的朋友可以参考下 本文实例讲述了php批量删除cookie的简单实现方法.分享给大家供大家参考.具体实现方法如下: <?php //删除单个cookie:键值设置为空.时间设置为过期了的时间 setCookie("name","",time()-60); //删除多个cookie,采用遍历数组方式 foreac

如何用最简单的方法将PCweb改成适合各种设备的web

使web页面自适应设备大小 1)用一个<div>包围<body>的内容 2)该div属性的宽度设为100%   (宽度设为100%后,页面会随着设备窗口大小自动改变) 3)高度:通过window.innerHeight获得设备高度在通过jQuery的css()动态改变元素 (如果没有设高度,则页面高度会随着内容高度的变化而变化) 1 <style> 2 *{ 3 margin:0; 4 padding:0; 5 } 6 .knr{ 7 margin:0 auto; 8

找1~100之间素数的两种比较简单的方法

方法一:利用一个布尔类型的值的判断,优点想法更直接易懂 public static void main(String[] args) { for(int i=2;i<=100;i++){ boolean b=true; for(int n=2;n<i;n++){ if(i%n==0){ b=false; break; } } if(b==true){ System.out.print(i+"\t"); } } } 方法二:能被2和这个数本身以外的数整除的都不是素数.理解难但

Android反编译工具介绍与简单实用方法

Android反编译工具介绍与简单实用方法 Android反编译的目的无非就是为了看到APK的xml.资源和代码: 得到代码的方式:直接解压APK文件 --> 得到classes.dex文件 --> 使用 dex2jar classes.dex classes.jar生成jar文件 --> [可选的解压jar文件] -->使用XJad或者JDCompiler查看源代码 得到XML的方式: 方式1:直接解压APK文件 --> 通过axmlprinter工具查看XML文件(这种方

用jsonp来解决跨域问题的三种简单的方法

jsonp实现跨域的方法 使用ajax方法获取数据不能跨域,为了解决这个问题,普遍使用jsonp来实现跨域,下面是对jsonp方法的简单总结: 例子:假如想获取京东的评论的数据,可以在京东的评论面板打开network找到和ajax请求相关的有回调函数callback的请求url, 如找到一个url, 如: 在响应里可以找到回调函数对应的方法: 这是在服务器上写入的方法用来传输数据. 例如获取到的url为 https://club.jd.com/comment/productPageComment

TabHost 简单使用方法

package com.google.tabhost; import android.app.TabActivity; import android.os.Bundle; import android.view.LayoutInflater; import android.widget.TabHost; public class HelloTabHost extends TabActivity { /** Called when the activity is first created. */

Centos6.4 搭建Git服务器 (最简单的方法)

下载 git-1.8.2.tar.gz tar -zvxf git-1.8.2.tar.gz cd git-1.8.2.2 sudo make prefix=/usr/local/git all sudo make prefix=/usr/local/git install git –version 查看版本 以上是服务器安装. 下面是建库. centos服务器上建库及测试 mkdir /git cd /git git –bare init //建立空仓库 git ssh-keygen (建本地