RecyclerView的简单使用例子

今天来学习下一个RecyclerView控件
首先先来配置下
<code>
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.0.0-beta1'
compile 'com.android.support:recyclerview-v7:24.+'
}
</code>
接下来做一个横向的例子
xml文件

<?xml version="1.0" encoding="utf-8"?>
<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.tony.uiapplication.MainActivity">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        >
    </android.support.v7.widget.RecyclerView>
</RelativeLayout>

java文件

public class MainActivity extends AppCompatActivity {

    private RecyclerView mVRecycler;
    private Adapter mAdapter;
    private List<String> mList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mVRecycler = (RecyclerView) findViewById(R.id.recyclerview);
        mVRecycler.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
        mList = new ArrayList<>();
        for (int i = 1; i < 17; i++) {
            mList.add("text" + i);
        }
        mAdapter = new Adapter(this, mList);
        mVRecycler.setAdapter(mAdapter);
    }

    class Adapter extends RecyclerView.Adapter<MainActivity.ViewHolder> {

        private Context context;
        private List<String> list;

        public Adapter(Context context, List<String> list) {
            this.context = context;
            this.list = list;
        }

        @Override
        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            return new ViewHolder(LayoutInflater.from(context).inflate(R.layout.item_recycler, parent, false));
        }

        @Override
        public void onBindViewHolder(ViewHolder holder, int position) {
            holder.vText.setText(list.get(position));
        }

        @Override
        public int getItemCount() {
            return list == null ? 0 : list.size();
        }
    }

    class ViewHolder extends RecyclerView.ViewHolder {
//        ImageView vImage;
        TextView vText;
        public ViewHolder(View itemView) {
            super(itemView);
//            vImage = (ImageView) itemView.findViewById(R.id.img);
            vText = (TextView) itemView.findViewById(R.id.text);
        }
    }
}

下面是效果图


GIF.gif

下面附上demo:https://github.com/tonylu23/uiapplication

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,185评论 25 709
  • 附上原文作者连接:作者:金诚 一.榜单介绍 排行榜包括四大类: 单一框架:仅提供路由、网络层、UI层、通信层或其他...
    这个美嘉不姓陈阅读 6,740评论 1 35
  • 一.榜单介绍 排行榜包括四大类: 单一框架:仅提供路由、网络层、UI层、通信层或其他单一功能的框架 混合开发框架:...
    伟子男阅读 10,649评论 0 161
  • 明知道这个标题并不能抓住更多的吃瓜群众眼球,却还是用了这个标题,原因是我只想做自己吧。 第一次在简书上...
    Sunshine鑫小白阅读 1,841评论 1 1
  • 世间最苦的事情莫过于我以朋友的身份喜欢你,而你却只拿我当朋友吧。 刚刚和他在微信上发消息,问他什么时候上班,然...
    木頭熊阅读 6,870评论 0 0

友情链接更多精彩内容