gridView显示图片以及对应的文字

来源:互联网 发布:oracle数据库日志管理 编辑:程序博客网 时间:2024/04/29 20:13

main.xml

    <!-- 中间的列表 -->
    <GridView
        android:id="@+id/gv_apps"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:numColumns="3"
        android:horizontalSpacing="20px"
        android:verticalSpacing="20px"
        android:layout_marginTop="30dip"
        android:layout_marginLeft="25dip"
        android:gravity="center"
        android:paddingTop="15dip"
        android:layout_gravity="center"
        android:listSelector="#00000000"
        android:descendantFocusability="afterDescendants"
       ></GridView>

main_adapter.xml

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
     android:descendantFocusability="blocksDescendants"  >

        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <ImageView
                android:id="@+id/main_adapter_imageButton1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"               
                android:src="@drawable/ic_launcher"
                android:focusable="false"
                
                />

        </TableRow>

        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/main_adapter_textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"                
                android:layout_gravity="center"
                android:textColor="#1E90FF"/>

        </TableRow>

    </TableLayout>

MainActivity

private GridView gridView;

//加载图片
    private int[] imageIds = new int[]{
            R.drawable.img05,
            R.drawable.img06,
            R.drawable.img07,
            R.drawable.img08,
            R.drawable.img09,
            R.drawable.img10,
            R.drawable.img11,
            R.drawable.img12,
            R.drawable.img13
    };
    //加载图片对应名字
    private String[] names = new String[]{"图1","图2","图3"
            ,"图4","图5","图6","图7","图8","图9"};


public void onCreate(Bundle savedInstanceState) {

 gridView = (GridView) this.findViewById(R.id.gv_apps);
        list=new ArrayList<Map<String,Object>>();
        for (int i = 0; i < imageIds.length; i++) {
            Map<String, Object> map=new HashMap<String, Object>();
            map.put("image", imageIds[i]);
            map.put("text",names[i]);
            list.add(map);
                
        }
        adapter=new SimpleAdapter(MainActivity.this, list, R.layout.main_adapter,
                new String[]{"image","text"}, new int[]{R.id.main_adapter_imageButton1,R.id.main_adapter_textView1});
        
        gridView.setAdapter(adapter);
        
        
        gridView.setOnItemClickListener(new OnItemClickListener() {
        @Override
            public void onItemClick(AdapterView<?> arg0,
                    android.view.View arg1, int arg2, long arg3) {

            Intent intent=new Intent();

            switch (arg2) {
            case 0:
                intent.setClass(MainActivity.this, .class);
                startActivity(intent);
                break;
            case 1:
                intent.setClass(MainActivity.this, HomeForumActivity.class);
                startActivity(intent);
                break;
            case 2:
                intent.setClass(MainActivity.this, InfoForumActivity.class);
                startActivity(intent);
                break;
            case 3:
                break;
            case 4:
                break;
            case 5:
                break;
            case 6:
                break;
            case 7:
                break;
            case 8:
                break;

            default:
                break;
            }
                
            }
        });

}