Android中menu菜单中的图片是怎么加进去的?

Android中menu菜单中的图片是怎么加进去的?,第1张

通过代码加进去,也可以通过xml加加入图片。

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>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11704619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存