我的android 第18天 - 选择菜单

原创 2013年12月02日 18:13:31

我的android 第18天 - 选择菜单

 介绍:菜单是在开发中常用的一个控件,它分为选择菜单和上下文菜单,可以通过菜单设计器实现菜单的设计,也可以通过代码手动装配菜单,一个Activity只能有一个选择菜单,但是可以有多个上下文菜单,一个控制只能拥有一个上下文菜单

 案例:通过选择菜单和上下文菜单实现对图书的管理

  (该项目涉及三个知识点:选择菜单、上下文菜单、自定义适配器)

一、界面设计及案例分析



   二、实现流程

1、构建选择菜单

•在菜单设计器设计选择菜单
•通过代码添加选择菜单
•groupId : 组别(不会影响菜单项的排序顺序)
•itemId : 菜单项的唯一标识
•order: 菜单项的排列顺序(数值越小,排在越前面)
•title:标题
•MenuItem item = menu.add(groupId, itemId, order, title); 创建菜单项
•item.setIcon(R.drawable.icon); 设置图标
•onCreateOptionsMenu :在第一次点击Menu的时候调用,在这里进行菜单的初始化
•getMenuInflater().inflate(R.menu.book, menu);装配菜单 

2、监听选择菜单项的点击:onOptionsItemSelected :Activity方法

/**
     * 第一次点击Menu键的时触发(在这里创建选择菜单)
     */
    public boolean onCreateOptionsMenu(Menumenu) {
    // 把功能类似的菜单项分到同组
   menu.add(0, R.id.menu_add, 0, R.string.add).setIcon(R.drawable.menu_add);
    menu.add(0, R.id.menu_delete, 0, R.string.delete).setIcon(R.drawable.menu_delete);
    menu.add(1, R.id.menu_good_look, 0, R.string.good_look).setIcon(R.drawable.menu_good_look);
    menu.add(1, R.id.menu_not_good_look, 0, R.string.not_good_look).setIcon(R.drawable.menu_not_good_look);
    // menu.setGroupEnabled(0,false);
//装配菜单
    getMenuInflater().inflate(R.menu.menu_book_options,menu);
    return super.onCreateOptionsMenu(menu);
    }
 /**
     * 监听选择菜单的点击     */
    public boolean onOptionsItemSelected(MenuItemitem) {
    int itemId = item.getItemId();
    switch (itemId) {
case R.id.menu_add: // 添加
menuEidtOrAdd(null);
break;
case R.id.menu_delete: // 删除
optionsMenuDelete();
break;
case R.id.menu_good_look: // 好看
case R.id.menu_not_good_look: // 不好看
break;
}
    return super.onOptionsItemSelected(item);
    }

   二、实现流程

       3、在OnCreate()中装配ListView数据,实现图书列表的显示

          . ListView 数据初始化:ArrayList<Map>

          . ListView 添加适配器,装配数据

 

4、选择菜单功能实现

  

•添加图书
•自定义对话框
•实现添加图书到数据列表中
•通知适配器数据已改变,需重新刷新列表
/**
* 给列表框装配数据,在Activity中显示图书列表信息
*/   
ArrayList<HashMap<String, Object>> data = new ArrayList<HashMap<String,Object>>();
        for (int i = 0; i < 20; i++) {
        HashMap<String, Object> map = new HashMap<String, Object>();
        map.put(NAME, "5分钟突破Java "+ (i+1) +".0");
        map.put(GOOG_LOOK, i%2==0);
        data.add(map);
}
        this.data = data;
        listView.setAdapter( adapter = new BookAdapter(this) );



下载视频代码


Android开发之多级下拉列表菜单实现(仿美团,淘宝等)

注:本文转载于:http://blog.csdn.net/minimicall/article/details/39484493 我们在常用的电商或者旅游APP中,例如美团,手机淘宝等等,都能够看...
  • dai_zhenliang
  • dai_zhenliang
  • 2014年09月25日 09:51
  • 203331

Android中的下拉选择菜单(封装控件)

在应用中常见的一种点击下拉菜单,应用次数很多,今天找时间抽取出来封装成类。( 源码在底部 )先看一眼效果图:功能介绍: 菜单按钮的默认内容可以自定义; 下拉菜单的内容可以自定义; 选中菜单中的内容后,...
  • carter_yu
  • carter_yu
  • 2016年01月28日 17:52
  • 3853

Bootstrap下拉菜单使用方法

如何使用Bootstrap下拉菜单组件 Bootstrap下拉菜单组件使用起来非常容易,首先你需要定义一个class="dropdown"的div,然后在这个div标签中写入触发下拉框的按钮以及...
  • u012238748
  • u012238748
  • 2017年01月16日 14:52
  • 2511

传智播客_Andorid_20天精通Android开发视频_第18天视频_视频

  • 2018年01月09日 15:07
  • 760.56MB
  • 下载

传智播客_Andorid_20天精通Android开发视频_第18天视频_视频

  • 2018年01月09日 15:10
  • 760.56MB
  • 下载

传智播客_Andorid_20天精通Android开发视频_第18天视频_视频

  • 2017年11月03日 15:18
  • 760.56MB
  • 下载

第18天 Android Touch事件学习 5 点击与长按原理

这是事件学习的第四篇文章: 《Andorid Touch事件学习 1 点击事件》 《Android Touch事件学习 2 触发点击事件的地方》 《Android Touch事件学习 3 区...
  • love_world_
  • love_world_
  • 2014年02月04日 23:13
  • 3878

Android开发之滑动选择菜单(仿QQ滑动删除)代码

  • 2017年06月02日 11:06
  • 16KB
  • 下载

android PopupWindow实现从底部弹出或滑出选择菜单或窗口

http://104zz.iteye.com/blog/1685389 本实例弹出窗口主要是继承PopupWindow类来实现的弹出窗体,布局可以根据自己定义设计。弹出效果主要使用了tr...
  • zkcharge
  • zkcharge
  • 2014年05月22日 12:50
  • 613

android Activity实现从底部弹出或滑出选择菜单或窗口

alert_dialog.Xml代码   xml version="1.0" encoding="utf-8"?>   RelativeLayout        xmlns:android="...
  • qq_32897275
  • qq_32897275
  • 2016年05月06日 15:37
  • 1758
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我的android 第18天 - 选择菜单
举报原因:
原因补充:

(最多只允许输入30个字)