2017-4-28作业--GridView使用
作业要求:使用GridView和SimpleAdapter实现手机界面常见的的九宫格
布局什么的没什么好说的,都很简单,下面是activity_main.xml代码:
<?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:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.a15083.testnine.MainActivity">
<GridView
android:id="@+id/grid_view"
android:numColumns="3"
android:stretchMode="columnWidth"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
下面是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">
<ImageView
android:id="@+id/gridview_img"
android:layout_width="wrap_content"
android:layout_height="80dp" />
</LinearLayout>
然后是主要的功能实现,因为用的是SimpleAdapter,所以,功能实现起来比较简单,下面是代码:
package com.example.a15083.testnine;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.GridView;
import android.widget.ImageView;
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 {
//设置图片资源
int[] imgId = new int[]{R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e,R.drawable.f,R.drawable.g,R.drawable.h,R.drawable.i,R.drawable.j,R.drawable.k,R.drawable.l,R.drawable.m,R.drawable.n,R.drawable.o};
private SimpleAdapter simpleAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//为SimpleAdapter创建数据源
List<Map<String,Object>> listItem = new ArrayList<>();
//通过循环去一遍遍的加载图片
for(int i = 0;i<imgId.length;i++){
Map<String,Object> list = new HashMap<>();
list.put("imgId",imgId[i]);
listItem.add(list);
}
simpleAdapter = new SimpleAdapter(MainActivity.this, listItem,R.layout.grid_item,new String[]{"imgId"}, new int[]{R.id.gridview_img});
GridView gridView = (GridView) findViewById(R.id.grid_view);
gridView.setAdapter(simpleAdapter);
}
}
作业大致就是这个样子的了,下面是运行的效果图: