九宫格

主页面,添加一个GridView

<GridView
    android:id="@+id/gridview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:horizontalSpacing="1dp"
    android:verticalSpacing="1dp"
    android:numColumns="3"
    android:gravity="center">
</GridView>

新建一个item

 <?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/image"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:scaleType="fitXY" />
</LinearLayout>

功能实现

package cn.edu.niit.nine;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class MainActivity extends AppCompatActivity {

GridView gv;
//将图片Id放入数组中去
int []imageIds = new int[] {
        R.drawable.g1,R.drawable.g2, R.drawable.g3,
        R.drawable.g4,R.drawable.g5, R.drawable.g6,
        R.drawable.g7,R.drawable.g8, R.drawable.g9
};
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    list();
    //定义一个list来存放多个item元素
    ArrayList<Map<String, Object>> listItems = new ArrayList<Map<String,Object>>();
    for (int i = 0; i < imageIds.length; i++) {
        Map<String, Object> item = new HashMap<>();
        item.put("image", imageIds[i]);
        listItems.add(item);
    }
    //创建simpleAdapter来设置元素
    SimpleAdapter adapter = new SimpleAdapter(this, listItems, R.layout.item,
            new String[] {"image"}, new int[] {R.id.image});
    gv.setAdapter(adapter);

}

private void list() {
    gv = (GridView)findViewById(R.id.gridview);
}

}

实现图

posted @ 2017-05-07 14:03  阿狸飞  阅读(110)  评论(0编辑  收藏  举报