博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GridView创建菜单栏
阅读量:7079 次
发布时间:2019-06-28

本文共 2937 字,大约阅读时间需要 9 分钟。

GridView(网格视图)可以用来做九宫图、表格(行列)的视图,因其是网格状的,不用去调整权重,而且单个item可以自定义,因此也可以用来创建菜单栏(图标加文字形式),布局就一个GridView。

1 

然后设置列数,背景图片等属性。跟着设置设配器。

1 /**为GridView配饰菜单资源*/ 2     private void initGridViewMenu(){ 3          mGridViewToolbar = (GridView)findViewById(R.id.file_gridview_toolbar); 4          //设置选中时候的背景图片 5          mGridViewToolbar.setSelector(R.drawable.menu_item_selected); 6          //设置背景图片 7          mGridViewToolbar.setBackgroundResource(R.drawable.menu_background); 8          //设置列数 9          mGridViewToolbar.setNumColumns(6);10          //设置居中对齐11          mGridViewToolbar.setGravity(Gravity.CENTER);12          //设置水平,垂直间距为1013          mGridViewToolbar.setVerticalSpacing(10);14          mGridViewToolbar.setHorizontalSpacing(10);15          //设置适配器16          mGridViewToolbar.setAdapter(getMenuAdapter(gridview_menu_title,girdview_menu_image));17     }

接着是适配器的定义(用SimpleAdapter):

1     /**菜单适配器*/ 2     private SimpleAdapter getMenuAdapter(String[] menuNameArray, 3             int[] imageResourceArray) { 4         //数组列表用于存放映射表 5         ArrayList
> mData = new ArrayList
>(); 6 for (int i = 0; i < menuNameArray.length; i++) { 7 HashMap
mMap = new HashMap
(); 8 //将“image”映射成图片资源 9 mMap.put("image", imageResourceArray[i]);10 //将“title”映射成标题11 mMap.put("title", menuNameArray[i]); 12 mData.add(mMap);13 }14 //新建简单适配器,设置适配器的布局文件,映射关系15 SimpleAdapter mAdapter = new SimpleAdapter(this, mData,R.layout.item_menu, new String[] { "image", "title" },new int[] { R.id.item_image, R.id.item_text });16 return mAdapter;17 }

最后是设置GridView每一个item的监听器。

1 /**菜单项的监听*/ 2     protected void initMenuListener(){ 3         mGridViewToolbar.setOnItemClickListener(new OnItemClickListener(){ 4  5             public void onItemClick(AdapterView
arg0, View arg1, int arg2, 6 long arg3) { 7 switch(arg2){    // 以下为实例代码 8 //回到根目录 9 case 0:10 menuPosition = 1;11 initFileListInfo(mRootPath);12 break;13 //回到SD卡根目录14 case 1:15 menuPosition = 2;16 initFileListInfo(mSDCard);17 break;18 //显示搜索对话框19 case 2:20 searchDilalog();21 break;22 //创建文件夹23 case 3:24 createFolder();25 break;26 //粘贴文件27 case 4:28 palseFile();29 break;30 //退出31 case 5:32 MainActivity.this.finish();33 break;34 }35 } 36 });37 }

 

转载于:https://www.cnblogs.com/Jackie-zhang/p/5277445.html

你可能感兴趣的文章
木马各种隐藏技术全方位大批露,病毒或木马
查看>>
BitmapFactory.Options详解
查看>>
AutoLayout 使用之代码实现(VFL)
查看>>
刷一遍数据结构
查看>>
Freemarker常用内建函数
查看>>
读 linux_101_hacks 有感
查看>>
运用@media实现网页自适应中的几个关键分辨率
查看>>
redis配置认证密码
查看>>
码农十年连载一
查看>>
Notice: Undefined index: REQUEST_URI in
查看>>
[webAPP项目]基于MUI框架开发APP功能点开发详解大纲
查看>>
Kotlin 笔记
查看>>
搭建Nginx+Java环境(转)
查看>>
华为13年机试题
查看>>
JSP 生命周期
查看>>
CentOS 7安装配置Redis数据库
查看>>
Javascript基础 错误调试
查看>>
Java实现定时任务的三种方法
查看>>
又见日志-从日志中的思考
查看>>
maven dependency
查看>>