实现网格列表GridView功能
实现代码:
Activity_mian.xml:
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:horizontalSpacing="2dp"
android:numColumns="3"
android:verticalSpacing="2dp"
tools:context=".MainActivity">
</GridView>
grid_item.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:background="#eeeeee"
android:padding="5dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:id="@+id/img"
android:layout_marginBottom="10dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:layout_marginBottom="5dp"
android:id="@+id/name"/>
</LinearLayout>
MainActivity:
package com.example.gridview;
import androidx.appcompat.app.AppCompatActivity;
import androidx.collection.SimpleArrayMap;
import android.os.Bundle;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private GridView gridView;
private String[] names=new String[]{ "转账","手机充值","淘宝电影","校园一卡通","红包","机票火车票","记账本","口碑外卖","理财小工具","快的打车","收款","我的快递","天猫","余额宝","亲密付","淘宝"};
private int[] imgIds=new int[]{R.drawable.p1,R.drawable.p2,R.drawable.p3,R.drawable.p4,R.drawable.p5,R.drawable.p6,R.drawable.p7,R.drawable.p8,R.drawable.p9,R.drawable.p10,R.drawable.p11,R.drawable.p12,R.drawable.p13,R.drawable.p14,R.drawable.p15,R.drawable.p16};
private List<Map<String,Object>>datas=new ArrayList<Map<String, Object>>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridView=(GridView)findViewById(R.id.gridView);
initData();
SimpleAdapter adapter=new SimpleAdapter(this,datas,R.layout.grid_item,new String[]{"name","imgId"},new int[] {R.id.name,R.id.img});
gridView.setAdapter(adapter);
}
private void initData(){
for(int i=1;i<names.length;i++){
Map<String,Object>item=new HashMap<String, Object>();
item.put("name",names[i]);
item.put("imgId",imgIds[i]);
datas.add(item);
}
}
}
运行结果: