Android系统里面有3种类型的菜单:options menu,context menu,sub menu。
options menu : 按Menu键就会在屏幕下面显示,一个弹出的菜单。
它包括两种菜单项:
因为options menu在屏幕底部最多只能显示6个菜单项,这些菜单项称为icon menu,icon menu只支持文字(title) 以及icon,可以设置快捷键,不支持checkbox以及radio控件,所以不能设置checkable选项。
而多于6的菜单项会以“more” icon menu来调出,称为expanded menu。它不支持icon,其他的特性都和icon menu一样!
在Activity里面,用options menu的使用方法如下:
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 1, 1, R.string.exit);
menu.add(0, 2, 2, R.string.about);
return super.onCreateOptionsMenu(menu);
}
创建options menu,这个函数只会在menu第一次显示时调用。
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId()==1)
{
finish();
}else if(item.getItemId()==2)
{
Toast toast=Toast.makeText(this, "这是个Menu菜单的练习", Toast.LENGTH_SHORT);
toast.show();
}
return super.onOptionsItemSelected(item);
}
onOptionsItemSelected (MenuItem item) 处理选中的菜单项。
实例如下:
MenuTest.java
package org.hualang.menu;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MenuTest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
menu.add(0, 1, 1, R.string.exit);
menu.add(0, 2, 2, R.string.about);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
if(item.getItemId()==1)
{
finish();
}else if(item.getItemId()==2)
{
Toast toast=Toast.makeText(this, "这是个Menu菜单的练习", Toast.LENGTH_SHORT);
toast.show();
}
return super.onOptionsItemSelected(item);
}
}
String.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, MenuTest!</string>
<string name="app_name">MenuTest</string>
<string name="exit">退出</string>
<string name="about">关于</string>
</resources>
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Menu菜单实例"
/>
</LinearLayout>
运行结果如下:点击Menu按钮
当点击退出时候,就会退出程序,当点击关于的时候会弹出一个Toast
sub menu
上面的menu都可以加入子菜单,但子菜单不能嵌套子菜单,这意味着在Android系统,菜单只有两层,设计时需要注意的!同时子菜单不支持icon。 所以这个时候可以在option menu中加入可以嵌套的菜单 sub menu
只需要在刚才的代码中的onCreateOptionMenu中加入
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
menu.add(0, 1, 1, R.string.exit);
menu.add(0, 2, 2, R.string.about);
SubMenu subMenu = menu.addSubMenu(1, 100, 100, "游戏");
subMenu.add(2, 3, 3, "铁拳");
subMenu.add(2, 4, 4, "流行蝴蝶剑");
return super.onCreateOptionsMenu(menu);
}
再次运行后,点击MENU按钮,会弹出3个选项
当点击“游戏”选项的时候,就会弹出如下效果
- 大小: 10.6 KB
- 大小: 11.5 KB
- 大小: 10.7 KB
- 大小: 13.8 KB
分享到:
相关推荐
•Android---UI篇---Tab Layout(选项卡布局) • •Andorid---UI篇---TableLayout(表格布局) • •Android---UI篇---RelativeLayout(相对布局) • •Android---UI篇---GridView...•Android---UI篇---Menu(菜单)
Android---UI篇---Menu(菜单), Android系统里面有3种类型的菜单:options menu,context menu,sub menu。
Android-awesome-android-ui.zip,一份精选的android ui/ux库列表,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。
Android-android-ui-animation-components-and-libraries.zip,android ui库、组件和动画作者@ramotion-https://github.com/ramotion/swift-ui-animation-components-libraries,安卓系统是谷歌在2008年设计和制造的。...
NULL 博文链接:https://hualang.iteye.com/blog/1163185
Android---UI篇---Dialog(对话框)
Android--开发--奇艺高清UI界面源代码
android-times-square-master,很漂亮的日历UI的library,可以单选日期,可以选择多个不连续日期,可以选择两个日期之间的日期,可以弹出对话框显示日期。
android-ui Android library for UI components. Gradle integration: repositories { mavenCentral() } dependencies { compile 'com.github.markushi:android-ui:1.2' } Requires API level 14 Download ...
Side-Menu-分类侧滑菜单,简约炫酷的分类侧滑菜单,Yalantis 出品,博客附件,效果请查看博客相对应项目。
android-support-core-ui-26.0.0-alpha1.jar
Android -- GifAndroidDemo动态加载 【安卓经典UI特效】,gif的特效
Android--开发--Adroid UI 界面绘制原理分析
Android--快递查看效果安卓经典UI特效.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android--聊天界面的实现安卓经典UI效果.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
安卓UI设计,github开源
android-ui-utils,从code.google.com/p/android-ui-utils自动导出.zip
赠送jar包:spring-boot-admin-server-ui-2.5.2.jar; 赠送原API文档:spring-boot-admin-server-ui-2.5.2-javadoc.jar; 赠送源代码:spring-boot-admin-server-ui-2.5.2-sources.jar; 赠送Maven依赖信息文件:...
Android-react-native-shop-ui.zip,一个反作用的本地服装购物应用程序用户界面。,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。
android 返回按钮旋转 动画,按钮转动动画