RecyclerView
我来介绍一下RecyclerView的相关知识,保证小白也能看懂,我注释写的非常的详细,就算看不懂,也可以直接跟着我的思路,把我的代码复制到你的电脑上,一定能做出这个效果。或者你直接拿着我的代码修改一下,变成你自己想要的效果。
我们先看一下效果图:
可以观察看出,这个视图一行3个网格,每个网格中有一张图片和一段文字。
如果你还没有导入RecyclerView的包,请导一下,导过的,请跳过这段话。
请在app文件夹下的build.gradle中的dependencies{ }加入:
implementation 'com.android.support:design:28.0.0'
这段话的作用是把一些常用的组件都导入了,包括了RecyclerView,如果你只需要RecyclerView,那你就用这句话:
implementation 'com.android.support:recyclerview-v7:28.0.0'
具体位置如下:
请注意:最后的28.0.0是版本号,每个人下载的版本可能有差异,你可以跟着这句话来写版本号:
implementation 'com.android.support:appcompat-v7:28.0.0'
这句话,每个人的app下面的bulde.gradle的dependencies{ }中都会有,如果你这句话后面的版本是26.0.0,那么你就可以写
implementation 'com.android.support:design:26.0.0'
导包完成,现在来看看具体实现流程:
我总共就使用了:
三个组件:RecyclerView、ImageView、TextView。
三个 类和两个布局文件:Fruit、GridActivity、MyAdapter、activity_grid.xml、layout_grid_item.xml。
就可以做出上面的这个效果。
直接上代码好了:
Fruit类中的代码:
package com.example.lenovo.review.Grid;
import com.example.lenovo.review.R;
import java.util.ArrayList;
import java.util.List;
public class Fruit {
String name;
int imgId;
public Fruit(String name, int imgId) {
this.name = name;
this.imgId = imgId;
}
public void setName(String name) {
this.name = name;
}
public void setImgId(int imgId) {
this.imgId = imgId;
}
public String getName() {
return name;
}
public int getImgId() {
return imgId;
}
//这里是一个静态的方法,直接返回一个List<Fruit>列表
public static List<Fruit> getList() {
List<Fruit> fruitList = new ArrayList<>();
//水果的名字
String name[] = {
"苹果", "香蕉", "蓝梅", "樱桃", "芒果", "梨子", "草莓",
"苹果", "香蕉", "蓝梅", "樱桃", "芒果", "梨子", "草莓",
"苹果", "香蕉", "蓝梅", "樱桃", "芒果", "梨子", "草莓",
"苹果", "香蕉", "蓝梅", "樱桃", "芒果", "梨子", "草莓",
"苹果", "香蕉", "蓝梅", "樱桃", "芒果", "梨子", "草莓",
"苹果", "香蕉", "蓝梅",