Android菜单(Menu) - 3
来源:互联网 发布:韩国虚拟手机号软件 编辑:程序博客网 时间:2024/06/05 07:55
4.4.5 添加图标
图标也可添加到菜单项,使用SetIcon()方法即可完成。例如:
menu.add(0, MENU_FILE_1, 0, "File");
变更为:
menu.add(0, MENU_FILE_1, 0, "File").setIcon(R.drawable.chip);
其中黄色部分为新建的代码。
在一般情况下,我们应该建立单独的图标,所有的广义的屏幕密度,包括低(low-),中(medium-),高(high-)和额外的高密度(extra-high-density)显示屏。这确保了我们的图标将正确地显示在整个范围内的设备上,以及应用程序可以安装上。
(详见 http://developer.android.com/guide/practices/ui_guidelines/icon_design_menu.html)
在我们的应用程序代码中实例化一个菜单,而是我们应该定义一个菜单,所有项目在一个XML的菜单资源,然后在我们的应用程序代码填充的菜单资源(读取为一个可编程的对象)。使用菜单资源来定义我们的菜单是一个很好的做法,因为它从我们的应用程序代码中的菜单内容分开。可视化的结构和内容的XML的菜单中,它也更容易。
(详见 http://developer.android.com/guide/topics/ui/menus.html)
新建一Android XML,如下图:
点击“Next”
my_menu.xml清单如下:
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/file" android:icon="@drawable/chip" android:title="@string/file" /> <item android:id="@+id/exit" android:title="@string/exit"/></menu>
所使用的字符串资源在strings.xml
<resources> <string name="app_name">testMenu</string> <string name="hello_world">Hello world!</string> <string name="menu_settings">Settings</string> <string name="title_activity_main">MainActivity</string> <string name="file">File</string> <string name="exit">Exit</string></resources>
其程序代码如下:(标记红色字体部分为更改的代码)
package com.example.testmenu;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;public class MainActivity extends Activity {private static final int MENU_FILE_1 = Menu.FIRST;private static final int MENU_EXIT_2 = Menu.FIRST + 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { //getMenuInflater().inflate(R.menu.activity_main, menu); MenuInflater menuInflater = getMenuInflater(); menuInflater.inflate(R.menu.my_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub switch (item.getItemId()) {case MENU_FILE_1:fileMenu();break;case MENU_EXIT_2:break;default:break;} return false; } private void fileMenu() { // TODO My-generated method stub } private void exitMenu() { // TODO My-generated method stub } }
运行效果:
- Android菜单(Menu) - 3
- Android菜单(Menu)
- Menu---android菜单(menu)用法
- android菜单(menu)用法
- Android菜单(Menu) - 1
- Android菜单(Menu) - 2
- Android菜单(Menu) - 4
- Android菜单(Menu) - 5
- android菜单(menu)资源
- Android菜单(Menu)小结
- android之菜单(menu)
- Android 创建菜单(menu)的总结
- Android应用资源---菜单资源类型(Menu)
- Android教程(六)-- Menu菜单设计
- android学习:菜单(Menu)的使用
- Android中五种常用的menu(菜单)
- Android studio 使用Menu(菜单)
- Android笔记(四)Menu菜单
- sdk如何运行apk文件
- CodeForce 148A Insomnia Cure 公倍数计算问题
- 项目管理知识体系指南(六)项目成本管理
- 全排列(百度迅雷笔试题)
- 位操作基础篇之位操作全面总结
- Android菜单(Menu) - 3
- 改进的筛素数法
- C++ - new/delete与new[]/delete[]必须配对使用
- 常用数据结构及其性能比较
- 选择排序算法
- ifstream 与ofstream的用法
- dbms_stats 详解
- 程序员还是有经验的好
- VCL组件之主要方法(Methods)和通用事件(Events)