`
阅读更多

--------------------------------------------strings.xml--------------------------------------------

<resources>

    <string name="app_name">com.ch04</string>

    <string name="hello_world">Hello world!</string>

    <string name="menu_settings">Set</string>

    <string name="menu_apple">苹果</string>

    <string name="menu_orange">橘子</string>

    <string name="menu_banana">香蕉</string>

    <string name="menu_peach">桃子</string>

    <string name="menu_peach_b">大桃子</string>

    <string name="menu_peach_s">小桃子</string>

    <string name="menu_copy">复制</string>

    <string name="menu_stick">黏贴</string>

    <string name="title_activity_main">com.ch04</string>

</resources>

--------------------------------------------Layout activity_main.xml-----------------------------

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent" android:id="@+id/layout">

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_centerVertical="true"

        android:text="@string/hello_world"

        tools:context=".MainActivity" />

</RelativeLayout>

--------------------------------------------Menu activity_main.xml------------------------------

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item

        android:id="@+id/menu_settings"

        android:orderInCategory="100"

        android:title="@string/menu_settings"/>

    <item

        android:id="@+id/menu_apple"

        android:orderInCategory="10"

        android:title="@string/menu_apple"/>

    <item

        android:id="@+id/menu_orange"

        android:orderInCategory="20"

        android:title="@string/menu_orange"/>

</menu>

--------------------------------------------MainActivity.java--------------------------------------

package com.ch04;

import android.app.Activity;

import android.os.Bundle;

import android.view.ContextMenu;

import android.view.ContextMenu.ContextMenuInfo;

import android.view.Menu;

import android.view.MenuItem;

import android.view.SubMenu;

import android.view.View;

import android.widget.Toast;

/**

 * 

 * 项目名称:com.ch04   

 * 类名称:MainActivity    

 * 类描述:  选项菜单、子菜单、上下文菜单、动态菜单

 * 创建人:方勇  

 * 创建时间:2012-11-5 上午10:28:22   

 * Copyright (c) 方勇-版权所有

 */

public class MainActivity extends Activity {

private View layout;

/* 会员标识 */

private final static int GROUP_MENU_VIP = 1;

/* 游客标识 */

private final static int GROUP_MENU_NORMAL = 0;

/* 会员状态 */

private int state = 0;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

findViews();

// 注册上下文菜单

registerForContextMenu(layout);

}

/* 初始化UI菜单 */

private void findViews() {

layout = findViewById(R.id.layout);

}

/* 显示消息 */

private void showResults(String message) {

Toast.makeText(this, message, Toast.LENGTH_LONG).show();

}

/* 当选项菜单被选中后执行的事件 */

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case R.id.menu_apple:

showResults("苹果");

break;

case R.id.menu_orange:

showResults("橘子");

break;

case 10:

showResults("香蕉");

break;

default:

showResults("setting");

break;

}

return super.onOptionsItemSelected(item);

}

/* 选项菜单 */

@Override

public boolean onCreateOptionsMenu(Menu menu) {

menu.add(0, 10, 5, R.string.menu_banana);

/* 子菜单 */

SubMenu subMenu = menu.addSubMenu(1, 10, 10, R.string.menu_peach);

subMenu.add(1, 10, 10, R.string.menu_peach_b);

subMenu.add(1, 20, 20, R.string.menu_peach_s);

getMenuInflater().inflate(R.menu.activity_main, menu);

return true;

}

/* 动态菜单 */

@Override

public boolean onPrepareOptionsMenu(Menu menu) {

switch (state) {

case GROUP_MENU_VIP:

// 冻结菜单

menu.setGroupEnabled(GROUP_MENU_VIPtrue);

break;

case GROUP_MENU_NORMAL:

// 游客菜单

MenuItem items = menu.getItem(GROUP_MENU_VIP);

items.setVisible(false);

break;

}

return super.onPrepareOptionsMenu(menu);

}

/* 当上下文菜单被选中后执行的事件 */

@Override

public boolean onContextItemSelected(MenuItem item) {

showResults("上下文菜单");

return super.onContextItemSelected(item);

}

/* 上下文菜单 */

@Override

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {

menu.add(0, 100, 100, R.string.menu_copy);

menu.add(0, 200, 200, R.string.menu_stick);

super.onCreateContextMenu(menu, v, menuInfo);

}

}

--------------------------------------------游客效果------------------------------------------------

--------------------------------------------VIP效果------------------------------------------------

<!--EndFragment-->
  • 大小: 74.7 KB
  • 大小: 100.1 KB
0
0
分享到:
评论

相关推荐

    淘宝导航CSS

    }#page #content .tshop-pbsm-shop-nav-ch .menu-list .menu.menu-selected{background:#666;}#page #content .tshop-pbsm-shop-nav-ch .menu-list .menu .link .title{margin:0 8px;}#page #content .tshop-pbsm-...

    map.geo.admin.ch Context Menu-crx插件

    "map.geo.admin.ch Context Menu-crx插件"是一款专为地图服务网站map.geo.admin.ch设计的浏览器扩展程序,主要用于增强用户在浏览地图时的操作体验。该插件的主要功能是允许用户在不离开map.geo.admin.ch网站的情况...

    CH341SER_64_bit_OnTheRun_Driver_

    For example [iProgProSoftware]2.Unpack the archive into the created folder.3.Run the program.4.Select the menu item Help -&gt; Check for Updates. Follow instructions.5.Copy into your Scrips and ...

    Shortcut Menu labview源文件_labview有什么用

    在“15Ch Shortcut Menu”这个文件中,很可能包含了一系列用于定制LabVIEW快捷菜单的功能和操作。快捷菜单可以极大地提高用户的效率,允许用户快速访问常用功能或自定义的操作,而无需通过主菜单栏逐级选择。 在...

    ophone&android 开发完全讲义随书源码

    │ ├─ch04_menu │ │ ├─assets │ │ ├─bin │ │ │ └─net │ │ │ └─blogjava │ │ │ └─mobile │ │ ├─gen │ │ │ └─net │ │ │ └─blogjava │ │ │ └─mobile │ │ ├─res │ │ ...

    ch08_android开发_

    "ch08_android开发_"这个标题暗示我们正在探讨Android应用开发的一个章节,可能是一个教程或案例研究,专注于扩展菜单(ExMenu)和扩展上下文菜单(ExContextMenu)的实现。 首先,Android中的Menu主要用于在应用的...

    2019年最新MySQL_workbench_ch.xml

    2019年最新MYSQL workbench 汉化包: 使用方法如下: 找到MySQL Workbench 安装目录 data 目录把你下载的汉化的XML文件内容复制粘贴到 main_menu....把汉化MySQL_workbench_ch.xml 复制粘贴到原版的 main_menu.xml中

    SKILL用户入门手册-CH

    《SKILL用户入门手册-CH》 SKILL是一种高级交互式语言,由CADENCE公司开发,主要用于集成电路设计工具的环境。它旨在解决CADENCE工具的复杂性和多样性带来的挑战,以及设计过程中特定步骤的自动化需求。SKILL借鉴了...

    android 独立按键和菜单键 打开menu

    NULL 博文链接:https://ch-kexin.iteye.com/blog/2292268

    python程序设计课程-Ch8-1.ppt

    Tkinter 提供了多种构件类,如 Button、Canvas、Checkbutton、Entry、Frame、Label、Listbox、Menu、Message、Radiobutton、Text、Toplevel 等。 7. GUI 编程基础 GUI 编程需要设计界面外观,为每个构件定义事件...

    清华matlab课件ch11.GUI设计

    如Push Button(按钮)、Toggle Button(开关按钮)、Radio Button(单选按钮)、Check Box(复选框)、Edit Text(文本编辑框)、Static Text(静态文本)、Slider(滑动条)、List Box(列表框)、Pop-Up Menu(弹...

    精通ASP.NET2.0网络应用系统开发随书光盘ch09

    5. **站点导航**:可能涵盖了SiteMapProvider和TreeView、Menu等控件的使用,用于构建易于导航的网站结构。 6. **配置和部署**:了解如何配置ASP.NET应用程序,包括web.config文件的修改,以及如何将应用程序部署到...

    经典的菜单效果.zip

    在“ch06_menu”文件中,我们可以预期找到的是关于选项菜单的实现。创建菜单通常涉及到以下几个步骤: 1. **定义菜单资源**:在项目的res/menu目录下创建XML文件,如“menu_main.xml”,来定义菜单项。每个菜单项由...

    labview入门与实战开发100例 例程100个

    6. **快捷菜单**:`15Ch Shortcut Menu` 可能是指如何在LabVIEW用户界面中创建自定义的快捷菜单,提高程序的交互性和效率。 7. **迷宫游戏**:`32Ch Maze` 可能是一个趣味性的编程练习,通过LabVIEW实现迷宫生成和...

    上海交通大学python程序设计课程Ch学习教案.pptx

    课程内容包括了GUI的基本构件,如窗口(Window)、标签(Label)、按钮(Button)、菜单(Menu)和框架(Frame),以及这些构件之间的父子关系和布局管理。 GUI构件之间存在层次结构,根窗口作为顶层,其他构件则...

    管理信息系统:ch08-E-Commerce.pdf

    2. 菜单成本(Menu costs):在线销售时,更改产品或服务价格的成本相对较低,企业能更灵活地实施动态定价策略。 3. 动态定价(Dynamic pricing):根据市场需求和消费者行为实时调整价格,以最大化利润。 4. 去中介...

    html5跨平台开发之动画

    &lt;div class="ui-menu-item-btn ui-menu-item-anim_4"&gt; &lt;div class="ui-menu-item-btn ui-menu-item-anim_5"&gt; &lt;div class="ui-menu-btn-bg"&gt; ``` ```css /* 十字按钮的样式 */ input[type=checkbox]:checked +...

    JAVA编程计算器和记事本.rar

    font =new Font("ch",+Font.PLAIN,18); ta.setFont(font); ta.setSelectedTextColor(Color.red); ta.setLineWrap(true); //设置边框滚动条 JScrollPane scrollpanel =new JScrollPane(ta,JScrollPane....

Global site tag (gtag.js) - Google Analytics