public boolean onCreateOptionsMenu(Menu menu)
{
menu.add(0, CLASSIC_MENU_REFRESH, 0, R.string.menu_refresh).setIcon(R.drawable.cmcc_toolbar_refresh)
return super.onCreateOptionsMenu(menu)
}
setIcon就是加图片的
或者在res下建立一个menu文件夹,然后里面定义xml文件
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:id="@+id/MAIN_MENU">
<item android:id="@+id/menu_refresh_id"
android:icon="@drawable/cmcc_toolbar_refresh"
android:title="@string/menu_refresh" />
</group>
</menu>
一个Item对应一个菜单项, android:icon对应就是该菜单项的图片,在代码里使用这个xml:
public boolean onCreateOptionsMenu(Menu menu)
{
super.onCreateOptionsMenu(menu)
MenuInflater inflater = getMenuInflater()
inflater.inflate(R.menu.xxx, menu)
return true
}
菜单Memu是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu),以下说的是创建OptionsMenu一、概述
public boolean onCreateOptionsMenu(Menu menu):使用此方法调用OptionsMenu 。
public boolean onOptionsItemSelected(MenuItem item):选中菜单项后发生的动作。
public void onOptionsMenuClosed(Menu menu):菜单关闭后发生的动作。
public boolean onPrepareOptionsMenu(Menu menu):选项菜单显示之前onPrepareOptionsMenu方法会被调用,你可以用此方法来根据打当时的情况调整菜单。
public boolean onMenuOpened(int featureId, Menu menu):单打开后发生的动作。
二、默认样式
默认样式是在屏幕底部d出一个菜单,这个菜单我们就叫他选项菜单OptionsMenu,一般情况下,选项菜单最多显示2排每排3个菜单项,这些菜单项有文字有图标,也被称作Icon Menus,如果多于6项,从第六项开始会被隐藏,在第六项会出现一个More里,点击More才出现第六项以及以后的菜单项,这些菜单项也被称作Expanded Menus。下面介绍。
1.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="wrap_content"
android:layout_height="wrap_content" android:text="请点击 Menu键显示选项菜单" android:id="@+id/TextView02" />
</LinearLayout>
2.重载onCreateOptionsMenu(Menu menu)方法
重载onCreateOptionsMenu(Menu menu)方法,并在此方法中添加菜单项,最后返回true,如果false,菜单则不会显示。
3.为菜单项注册事件
使用onOptionsItemSelected(MenuItem item)方法为菜单项注册事件
public boolean onOptionsItemSelected(MenuItem item)
很简单啊,只要设置menu的style属性就行了,写了个demo给你,当然你也可以设置menuitem的style!~<Menu Height="30" Width="100">
<Menu.Resources>
<LinearGradientBrush x:Key="bg" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="White" Offset="0" />
<GradientStop Color="#FF18A9EB" Offset="0.743" />
</LinearGradientBrush>
<Style TargetType="Menu">
<Setter Property="Background" Value="{StaticResource bg}"/>
</Style>
</Menu.Resources>
<MenuItem Header="Menu">
<MenuItem.Icon>
<Image Source="/工程名component/图像1.png" />
</MenuItem.Icon>
<MenuItem Header="Menu1">
<MenuItem.Icon>
<Image Source="/工程名component/图像2.png" />
</MenuItem.Icon>
</MenuItem>
</MenuItem>
</Menu>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)