1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent">
  5. <GridView xmlns:android="http://schemas.android.com/apk/res/android"
  6. android:id="@+id/MyGridView"
  7. android:layout_alignParentTop="true"
  8. android:layout_width="fill_parent"
  9. android:layout_height="wrap_content"
  10. android:layout_marginTop="50dp"
  11. android:columnWidth="90dp"
  12. android:stretchMode="columnWidth"
  13. android:numColumns="auto_fit"
  14. android:horizontalSpacing="10dp"
  15. android:verticalSpacing="10dp"
  16. android:gravity="center">
  17. </GridView>
  18. <TextView android:id="@+id/MyTextView"
  19. android:layout_alignParentBottom="true"
  20. android:layout_width="fill_parent"
  21. android:layout_height="wrap_content"
  22. android:textStyle="bold"
  23. android:text="基于GridView的菜单"
  24. android:textColor="@android:color/white"
  25. android:gravity="center" />
  26. </RelativeLayout>
  27. res/layout/item.xml
    1. <?xml version="1.0" encoding="utf-8"?>
    2. <LinearLayout
    3. xmlns:android="http://schemas.android.com/apk/res/android"
    4. android:orientation="vertical"
    5. android:layout_width="fill_parent"
    6. android:layout_height="wrap_content">
    7. <ImageView
    8. android:id="@+id/ItemImageView"
    9. android:layout_width="fill_parent"
    10. android:layout_height="wrap_content"
    11. android:layout_gravity="center"/>
    12. <TextView
    13. android:id="@+id/ItemTextView"
    14. android:layout_width="fill_parent"
    15. android:layout_height="wrap_content"
    16. android:gravity="center"/>
    17. </LinearLayout>

    GridViewTestActivity.java

    1. package com.zeph.android.gridview;
    2. import java.util.ArrayList;
    3. import java.util.HashMap;
    4. import java.util.List;
    5. import android.app.Activity;
    6. import android.os.Bundle;
    7. import android.view.View;
    8. import android.widget.AdapterView;
    9. import android.widget.AdapterView.OnItemClickListener;
    10. import android.widget.GridView;
    11. import android.widget.SimpleAdapter;
    12. import android.widget.Toast;
    13. public class GridViewTestActivity extends Activity {
    14. private GridView mGridView;
    15. private int[] imageRes = { R.drawable.png1, R.drawable.png2,
    16. R.drawable.png3, R.drawable.png4, R.drawable.png5, R.drawable.png6,
    17. R.drawable.png7, R.drawable.png8, R.drawable.png9 };
    18. private String[] itemName = { "PNG1", "PNG2", "PNG3", "PNG4", "PNG5",
    19. "PNG6", "PNG7", "PNG8", "PNG9" };
    20. @Override
    21. public void onCreate(Bundle savedInstanceState) {
    22. super.onCreate(savedInstanceState);
    23. setContentView(R.layout.main);
    24. mGridView = (GridView) findViewById(R.id.MyGridView);
    25. List<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>();
    26. int length = imageRes.length;
    27. for (int i = 0; i < length; i++) {
    28. HashMap<String, Object> map = new HashMap<String, Object>();
    29. map.put("ItemImageView", imageRes[i]);
    30. map.put("ItemTextView", itemName[i]);
    31. data.add(map);
    32. }
    33. SimpleAdapter mSimpleAdapter = new SimpleAdapter(
    34. GridViewTestActivity.this, data, R.layout.item, new String[] {
    35. "ItemImageView", "ItemTextView" }, new int[] {
    36. R.id.ItemImageView, R.id.ItemTextView });
    37. mGridView.setAdapter(mSimpleAdapter);
    38. mGridView.setOnItemClickListener(new GridViewItemOnClick());
    39. }
    40. public class GridViewItemOnClick implements OnItemClickListener {
    41. @Override
    42. public void onItemClick(AdapterView<?> parent, View view, int position,
    43. long id) {
    44. Toast.makeText(getApplicationContext(), position + "",
    45. Toast.LENGTH_SHORT).show();
    46. }
    47. }
    48. }  
            1. 摘自http://blog.csdn.net/benweizhu/article/details/6737062

GridView九宫格菜单实现方式的更多相关文章

  1. Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现

    Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现 2015-03-10 22:38 28419人阅读 评论(17) 收藏 举报  分类: Android ...

  2. angular2 递归导航菜单实现方式

    看了网上很多源码,基本都是采用循环三级的方式.如果是无限级的菜单,就无法实现了. 菜单格式: [ { "title": "Item-1", "icon ...

  3. Bootstrap系列 -- 27. 下拉菜单对齐方式

    Bootstrap框架中下拉菜单默认是左对齐,如果你想让下拉菜单相对于父容器右对齐时,可以在“dropdown-menu”上添加一个“pull-right”或者“dropdown-menu-right ...

  4. GridView右键菜单

    一.添加右键菜单 1.在VS工具箱中的“菜单和工具栏”找到ContextMenuStrip控件,双击添加. 2.点击ContextMenuStrip右上方的小三角形,打开编辑项,可以添加菜单项.至于菜 ...

  5. 使用像AdminLTE的前端框架,树形导航菜单实现方式都有哪些?

    之前用easyui等富前端框架开发的时候都是使用封装好的县城的插件,现在使用最新的类似AdminLTE似的前段框架实现树形菜单都用什么方式? 后台拼接html然后前端用JS append方法添加还是直 ...

  6. django实现动态菜单的方式

    1.model from django.contrib.auth.models import User #django自带 class UserProfile(models.Model): " ...

  7. C#开发微信门户及应用(11)--微信菜单的多种表现方式介绍

    在前面一系列文章中,我们可以看到微信自定义菜单的重要性,可以说微信公众号账号中,菜单是用户的第一印象,我们要规划好这些菜单的内容,布局等信息.根据微信菜单的定义,我们可以看到,一般菜单主要分为两种,一 ...

  8. [.Net] C#开发微信门户及应用之微信菜单的多种表现方式介绍

    URL:http://www.it165.net/pro/html/201405/13997.html 在前面一系列文章中,我们可以看到微信自定义菜单的重要性,可以说微信公众号账号中,菜单是用户的第一 ...

  9. Android4.0 -- UI控件之 Menu 菜单的的使用(二)

    上一讲我们讲解了android中在代码或者xml文件中定义菜单,这一讲我们继续来讲解一下定义菜单的其他方式:创建上下文的菜单.查看API文档 Menus :Creating Contextual Me ...

随机推荐

  1. 【转】android出现注: 某些输入文件使用或覆盖了已过时的 API。 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。 注: 某些输入文件使用了未经检查或不安全的操作。 注

    使用Android studio打包应用程序出现如下错误: 注: 某些输入文件使用或覆盖了已过时的 API. 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译. 注: 某些 ...

  2. RFID开发利器 proxmark3

    Proxmark3 介绍 Proxmark3是由Jonathan Westhues设计并且开发的开源硬件,其主要用RFID的嗅探.读取以及克隆等的操作.其官方网站为:Jonathan Westhues ...

  3. jquery,extjs中的extend用法小结

    在jquery中,extend其实在做插件时还是用的比较多的,今天同时小结jquery和ext js中 的extend用法,先来看jquery中的. 1)  extend(dest,src1,src2 ...

  4. [Angular 2] Set Properties on Dynamically Created Angular 2 Components

    When you generate Angular 2 components, you’re still able to access the component instance to set pr ...

  5. C++11 之for 新解

     前言     C++11这次的更新带来了令非常多C++程序猿期待已久的for range循环,每次看到javascript. lua里的for range.心想要是C++能有多好,心里别提多酸了.这 ...

  6. 深入理解 CSS 中的行高与基线

    1.基本概念 1.  基线.底线.顶线.中线 注意:基线(base line)并不是汉字文字的下端沿,而是英文字母“x”的下端沿. 2. 内容区 内容区是指底线和顶线包裹的区域(行内元素display ...

  7. Sql 之 sql中的强制类型转换

    1. convert(数据类型, 字段名) convert(datetime, startDate) 2. cast(字段名 as 数据类型) ,))

  8. C# 读取文件的修改时间、访问时间、创建时间

    C# 获取文件的各个时间如下: 表2<ccid_nobr> 属性 功能和用途 Attributes 返回和文件相关的属性值,运用了FileAttributes枚举类型值 CreationT ...

  9. Entity Framework之问题收集

    本节讨论内容主要针对收集了上篇文章大家碰到问题的讨论解决,会持续收集扩充. DbContext加载原值,当前值,数据库值,属性操作,对象复制,对象值复制(VO,DTO->POCO),复杂对象取值 ...

  10. soupUI生成webservice客户端代码

    在Apache网站下载axis2软件包,同时本机安装soapUI工具.例如,当前我使用的axis2版本为axis2-1.4-bin.zip,soapUI版本为3.6. Apache Axis下载地址: ...