简单的RecycerView
来源:互联网 发布:面试淘宝美工常见问题 编辑:程序博客网 时间:2024/04/30 03:58
1.为什么要选择RecycerView
一般情况下我们会用listview比较多,但是listview在一些情况无法满足我们的需求,或者说在某些情况下
不适合我们的快速开发!!从两者的适配器的编写中可以看出,recycerview更简单的。
不说那么多,这次我们来简单体验一下recycerview
2.RecycerView的简单实现
1.首先我们得把库引入我们的项目中
compile 'com.android.support:recyclerview-v7:23.1.1'
2.我们的布局,分两个:一个是主页面上的布局,另一个是我们列表页布局
主页面布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.com.wechart.Activity.MainActivity" > <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/RecycerView_main" > </android.support.v7.widget.RecyclerView> </LinearLayout>
列表页布局:
<?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="60dp" android:orientation="horizontal" android:background="@color/blue" > <ImageView android:layout_width="40dp" android:layout_height="40dp" android:id="@+id/top_tool_img" android:layout_margin="10dp" android:src="@drawable/major" /> <TextView android:id="@+id/top_tool_txt" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:layout_gravity="center" android:text="@string/top_tool_txt" /> </LinearLayout>
3.我们的适配器也是重点的重点
package com.example.com.wechart.Activity.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.ImageView;import android.widget.TextView;import com.example.com.wechart.R;import java.util.List;/** * Created by 廖成康 on 2017/3/12. */public class GalleryAdapter extends RecyclerView.Adapter<GalleryAdapter.ViewHolder>{ private LayoutInflater inflater; private List<Integer> imgData; private List<String> txtData; public GalleryAdapter(List<Integer> imgData, List<String> txtData, Context context) { this.imgData = imgData; this.txtData = txtData; this.inflater=LayoutInflater.from(context); } /* * 创建viewholder * * */ @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view=inflater.inflate(R.layout.reclycview_layout,parent,false); ViewHolder viewHolder=new ViewHolder(view); viewHolder.id_index_gallery_item_image= (ImageView) view.findViewById(R.id.id_index_gallery_item_image); viewHolder.id_index_gallery_item_text= (TextView) view.findViewById(R.id.id_index_gallery_item_text); return viewHolder; } /* * 操控控件 * * */ @Override public void onBindViewHolder(ViewHolder holder, int position) { holder.id_index_gallery_item_image.setImageResource(imgData.get(position)); holder.id_index_gallery_item_text.setText(txtData.get(position)); } /* * reclyerview * 数目 * * */ @Override public int getItemCount() { return imgData==null?0:imgData.size(); } /* * 定义控件 * * */ public static class ViewHolder extends RecyclerView.ViewHolder { public ViewHolder(View itemView) { super(itemView); } ImageView id_index_gallery_item_image; TextView id_index_gallery_item_text; }}
4.我们主Activity上的数据添加和RecyclerView上布局的设置
package com.example.com.wechart.Activity;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.widget.LinearLayout;import com.example.com.wechart.Activity.Adapter.GalleryAdapter;import com.example.com.wechart.R;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity{ private List<Integer> imgData=new ArrayList<>(); private List<String> txtData=new ArrayList<>(); private RecyclerView recyclerView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); recyclerView= (RecyclerView) findViewById(R.id.RecycerView_main); addList(); LinearLayoutManager manager=new LinearLayoutManager(this); manager.setOrientation(LinearLayout.HORIZONTAL); recyclerView.setLayoutManager(manager); recyclerView.setAdapter(new GalleryAdapter(imgData,txtData,this)); } /* * 添加控件信息 * * */ private void addList() { txtData.add("1"); txtData.add("2"); txtData.add("3"); txtData.add("4"); txtData.add("5"); imgData.add(R.drawable.btn_img_one); imgData.add(R.drawable.btn_img_two); imgData.add(R.drawable.major); imgData.add(R.drawable.message); imgData.add(R.drawable.message); }}
OK,基本上简单的Recycerview就实现了。。。。。。。。。。。。。。。。。
0 0
- 简单的RecycerView
- RecycerView 单独设置每个childView的间隔--使用ItemDecoration
- 自定义Recycerview支持多种类型,下拉刷新,上拉加载更多的适配器
- 简单的,简单的
- 简单的
- 简单破解的简单步骤
- 简单的爱,简单的幸福
- 杀毒软件的简单实现的简单实现
- ListView的简单的简单美化
- 一简单代码的简单错误。。。
- JavaScript 简单DOM API的简单使用
- 如何简单制作简单的个人主页(一)
- 简单记录,Notification.builder的简单实用
- 简单编辑器、菜单栏的简单实现
- Java简单模式的简单例子
- jsp简单练习-简单的下拉表单
- JSP简单练习-一个简单的计数器
- JSP简单练习-javaBean的简单应用
- 深度学习方法(十一):卷积神经网络结构变化——Google Inception V1-V4,Xception(depthwise convolution)
- 经典算法汇总-第一章
- Leetcode练习 412. Fizz Buzz
- 【作业2】客户端的配置与应用
- tree
- 简单的RecycerView
- h5 canvas绘制的旋转小球
- JSON学习笔记
- 215. Kth Largest Element in an Array
- 多线程_同步的特点及好处和弊端
- android利用ViewPage和ImageView实现主界面导航
- 005
- JS初学者使用jQuery开发一款弹幕射击游戏
- Python初学list与tuple教程