Android Menu菜单栏
来源:互联网 发布:工厂模式 java 编辑:程序博客网 时间:2024/05/21 16:55
Android Menu菜单栏
效果图
Android Menu菜单栏
菜单:
菜单是许多类型的应用程序中的通用用户界面组件。要提供熟悉且一致的用户体验,您应该使用MenuAPI在活动中呈现用户操作和其他选项。
在XML中定义菜单
对于所有菜单类型,Android提供了标准的XML格式来定义菜单项。不要在活动代码中构建菜单,您应该在XML菜单资源中定义一个菜单及其所有项目。然后,您可以Menu在活动或片段中扩充菜单资源(将其作为对象加载)。
使用菜单资源的优点:
1.在XML中更容易地可视化菜单结构。
2.它将菜单的内容与应用程序的行为代码分离。
3.它允许您通过利用应用程序资源框架,为不同的平台版本,屏幕大小和其他配置创建替代菜单配置。
定义菜单,请在项目目录中创建一个XML文件,res/menu/
并使用以下元素构建菜单:
<menu>
定义Menu它是菜单项的容器。一个<menu>元件必须是该文件中的根节点,可容纳一个或多个<item>和<group>元素。
<item>
- 创建MenuItem表示菜单中的单个项目。此元素可能包含嵌套
<menu>
元素,以便创建子菜单。 <group>
- <group>元素的可选的,不可见的容器。它允许您对菜单项进行分类,以便它们共享属性,如活动状态和可见性。
<item>
元素支持多个属性可以用来定义项的外观和行为,下面是常用属性:android:id
- 项目唯一的资源ID,允许应用程序在用户选择项目时识别该项目。
android:icon:
对drawable用作项目图标的引用。android:title:
对用作项目标题的字符串的引用。android:showAsAction:
指定此项目在应用栏中作为操作项显示的时间和方式。处理点击事件
当用户从选项菜单中选择一个项目(包括应用程序栏中的操作项目)时,系统调用您的活动的
代码演示onOptionsItemSelected()
方法。此方法传递MenuItem
所选。您可以通过调用来标识项目getItemId()
,这将返回菜单项的唯一ID(由android:id
菜单资源中的属性定义或使用为add()
方法指定的整数)。您可以将此ID与已知菜单项相匹配,以执行相应的操作。1.在res下新建一个名为menu的包,在包中新建一个menu_main的布局文件<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_list" android:orderInCategory="100" android:title="list显示" app:showAsAction="never"> <menu> <item android:id="@+id/action_list_noraml" android:orderInCategory="100" android:title="标准" app:showAsAction="never"/> <item android:id="@+id/action_list_vertical_reverse" android:orderInCategory="100" android:title="垂直反向" app:showAsAction="never"/> <item android:id="@+id/action_list_horizontal" android:orderInCategory="100" android:title="水平" app:showAsAction="never"/> <item android:id="@+id/action_list_horizontal_reverse" android:orderInCategory="100" android:title="水平反向" app:showAsAction="never"/> </menu> </item></menu>
2.编写主类package com.example.admin.recycleview;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.Menu;import android.view.MenuItem;import android.widget.Toast;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } //加载菜单布局 @Override public boolean onCreateOptionsMenu(Menu menu) { //加载布局使用菜单特有方法,getMenuInflate对象 //参数1.菜单显示的布局 2.固定Menu getMenuInflater().inflate(R.menu.menu_main, menu); return true; } //菜单按钮点击事件处理 @Override public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); if (itemId == R.id.action_list_noraml) { //标准显示 Toast.makeText(MainActivity.this, "成功", Toast.LENGTH_SHORT).show(); return true; } return super.onOptionsItemSelected(item); }}
2 0
- android菜单栏Menu
- Android Menu菜单栏
- android菜单栏menu的使用
- menu菜单栏
- Ext.menu.Menu菜单栏
- Ext.menu.Menu菜单栏
- flex 菜单栏 create menu for flex
- Menu菜单,MenuBar菜单栏,MenuItem菜单项
- Android Menu
- Android Menu
- android menu
- Android MENU
- android menu
- Android Menu
- Android Menu
- Android Menu
- android menu
- Android menu
- VS2010发布的wcf服务,浏览器访问没有问题,但是vs添加服务引用出错
- Toolbar 的使用注意事项
- C++第二次实验-实验报告
- vim快捷键
- Spring Security 根据角色显示菜单是否可见
- Android Menu菜单栏
- Java 内存模型简介
- RxJava+Retrofit+MVP 封装带有加载框的Http请求
- hls心得(1)
- 欢迎使用CSDN-markdown编辑器
- Spring定时器的配置
- C语言中后置自增(减)运算符的使用
- JDBC 连接数据库
- [JQuery]随心所欲添加删除按钮Click事件