使用AlertDialog生成菜单,利用setView()方法设置菜单视图。

布局如下:

1、菜单布局

利用GridView

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content" android:layout_height="wrap_content"android:orientation="vertical"><GridView android:id="@+id/menu"android:layout_width="fill_parent"android:layout_height="fill_parent"android:numColumns="2"android:verticalSpacing="5dip"android:horizontalSpacing="5dip"android:stretchMode="columnWidth"android:gravity="center"></GridView>
</LinearLayout>

2、每一个item的布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/RelativeLayout_Item" android:layout_width="wrap_content"android:layout_height="wrap_content" android:paddingBottom="5dip"><ImageView android:id="@+id/item_image"android:layout_centerHorizontal="true" android:layout_width="wrap_content"android:layout_height="wrap_content"></ImageView><TextView android:layout_below="@id/item_image" android:id="@+id/item_text"android:layout_centerHorizontal="true" android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="选项"></TextView>
</RelativeLayout>

主程序代码如下:

代码比较简单,注释非常详细

package com.cloay.down.utils;import java.util.ArrayList;
import java.util.HashMap;import com.cloay.down.R;import android.app.AlertDialog;
import android.content.Context;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.SimpleAdapter;
/*** 菜单工具类* MenuUtil.java* @author cloay* 2011-10-25*/
public class MenuUtil {private static AlertDialog menuDialog;// menu菜单Dialogprivate static GridView menuGrid;/** 菜单图片 **/static int[] menu_image_array = { R.drawable.menu_open_in_background, R.drawable.menu_redownload, R.drawable.menu_detail, R.drawable.menu_delete };/** 菜单文字 **/static String[] menu_name_array = { "打开", "重新下载", "详细", "删除"};public static void ShowMenuDialog(final Context context){View menuView = View.inflate(context, R.layout.menu, null);menuDialog = new AlertDialog.Builder(context).setView(menuView).create();menuDialog.show();menuGrid  = (GridView) menuView.findViewById(R.id.menu);menuGrid.setAdapter(getMenuAdapter(context, menu_name_array, menu_image_array));menuGrid.setOnItemClickListener(new OnItemClickListener() {//监听menu按钮事件@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {switch(position){case 0:     //open filebreak;case 1:     //redownload 重新下载break;case 2:      //file details  break;case 3:       //delete filebreak;}}});}/*** 为menuGrid设置Adapter* @param context* @param menuNameArray* @param imageResourceArray* @return*/private static SimpleAdapter getMenuAdapter(Context context, String[] menuNameArray,int[] imageResourceArray) {ArrayList<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>();for (int i = 0; i < menuNameArray.length; i++) {HashMap<String, Object> map = new HashMap<String, Object>();map.put("itemImage", imageResourceArray[i]);map.put("itemText", menuNameArray[i]);data.add(map);}SimpleAdapter simperAdapter = new SimpleAdapter(context, data,R.layout.item_menu, new String[] { "itemImage", "itemText" },new int[] { R.id.item_image, R.id.item_text });return simperAdapter;}
}

说明:转载请注明出处!

Android 实现uc浏览器一样的菜单相关推荐

  1. android项目uc浏览器,Android版UC浏览器7.4正式更新

    来自UC官网的消息,Android版UC浏览器已经正式更新至7.4版,用户可以使用自己手机中安装的旧版本浏览器进行更新升级,或者下载APK安装文件进行手动升级. UC浏览器7.4从软件的界面到触摸操作 ...

  2. Android 仿UC浏览器详情页评论弹框效果

    大概就这种效果 额,突然发现UC被我卸载了,这个是QQ浏览器的效果,不过都一样,如果当前页面不是全屏的话,把根布局设为相对布局,然后设置评论布局为处于底部,这样在点击评论时弹开键盘会触发布局重绘,底部 ...

  3. android项目uc浏览器,Android项目仿UC浏览器和360手机卫士消息常驻栏(通知栏)

    之前网上看了下自定义消息栏,通知栏,了解到了Notification这个控件,发现UC浏览器等都是这种类型,今天写个demo实现下,如图: 其中每个按钮都有不同的功能,代码如下: package co ...

  4. 安卓android chrome86,UC浏览器86版本

    UC浏览器86版本是一款功能更加强大的百度搜索引擎,提升流畅体验,不卡顿,使搜索更加快速.简约的搜索框和轻量设计使用户体验更加流畅,搜索结果更加清晰.首页还有实时热门新闻推荐,最新资讯视频浏览,还可以 ...

  5. 浏览器 弹广告 android,android手机 UC浏览器 时不时跳出广告 是不是中毒了

    1)进入浏览器菜单-设置-广告过滤,然后将其中的开关和强力过滤都勾选上: (2)更新首页数据(浏览器菜单-设置-关于UC-帮助中心,点击页面中间自助服务"首页异常点击这里")再查看 ...

  6. Android UC浏览器使用痕迹分析

    本人最近在做android UC数据分析时无意中看到这篇文档     早看到就会少走很多弯路     下面记录的很详细了   希望有兴趣的做个参考   大家一起学习 引自: http://www.jc ...

  7. android仿微信红包动画、Kotlin综合应用、Xposed模块、炫酷下拉视觉、UC浏览器滑动动画等源码...

    Android精选源码 仿微信打开红包旋转动画 使用Kotlin编写的Android应用,内容你想象不到 Android手机上的免Root Android系统日志Viewer 一个能让微信 Mater ...

  8. android仿微信红包动画、Kotlin综合应用、Xposed模块、炫酷下拉视觉、UC浏览器滑动动画等源码

    Android精选源码 仿微信打开红包旋转动画 使用Kotlin编写的Android应用,内容你想象不到 Android手机上的免Root Android系统日志Viewer 一个能让微信 Mater ...

  9. uc收藏导入html,win10系统下UC浏览器如何导入其他浏览器的收藏夹

    UC浏览器的功能非常强大,比如它能够帮助我们找到电脑上安装的其他浏览器收藏夹.那么,如果想要在UC浏览器中导入其他浏览器收藏夹的话,具体该怎么操作呢?接下来,小编就以windows10系统为例,给大家 ...

最新文章

  1. 聊聊SwitchUserFilter的使用
  2. 如何将dtb反编译成dts
  3. python中os.path.join()的循环用法_Python中.join()和os.path.join()两个函数的用法详解
  4. android 电源管理 wakelock 唤醒锁机制
  5. h5是可以一键打包小程序的_H5手机网站封装打包微信小程序并实现分享及微信支付...
  6. 獲取mysql字段的注释或描述
  7. RabbitMQ的5种队列_订阅模式_入门试炼_第7篇
  8. qscoj:喵哈哈村的卢西奥
  9. oracle 扩容undo,某银行积分系统数据库RAC环境扩充undo表空间
  10. QQ音乐系统API接口文档
  11. 数据分析师和数据工程师的区别是什么?
  12. 【houdini 基础】Ramp 参数
  13. python图层合并_Photoshop_【批量将同一背景与不同的上层合并图层的技巧】导出+Python3.X实现...
  14. 酷派大神F1-救砖详细教程! 酷派8297w(大神F1联通版) 恢复官方兼救砖
  15. criterion of IMAP4.search 限制规范
  16. PHPStorm 常用设置
  17. 蓝桥杯 填数字游戏 20分。
  18. 一种增加图像自然饱和度的方法
  19. Cordova 卸载
  20. 某某桥的检测和加固设计

热门文章

  1. 如何更改 Win7 网络连接显示名称
  2. 淘宝app商品详情API接口(商品详情描述信息查询接口)
  3. OpenGL 灰度图
  4. 百度二年级手工机器人_小学二年级手工科技制作方案
  5. 脸上有酒窝,脖子后有痣,胸前有颗痣,此三种人不能错过
  6. 我是如何学习数据结构与算法的?
  7. php会议签到签退系统,会议签到管理系统,无障碍会议签到系统,一卡通会议签到系统,会议签到系统 - 新开普(NewCapec)...
  8. HtmlEditor在线编辑器V3.0提供
  9. 一文总结 Shiro 实战教程
  10. maya如何导入多片段动画文件查看和编辑