1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 基于Android技术的物联网应用开发-Android studio

基于Android技术的物联网应用开发-Android studio

时间:2019-06-27 18:01:03

相关推荐

基于Android技术的物联网应用开发-Android studio

.10.31 清空草稿箱 🚮 .10.11

Android studio 菜单栏功能讲解翻译_ZhangJiQun&MXP的博客-CSDN博客

Android studio之菜单_Be your bubble的博客-CSDN博客

Android studio 之 Menu(菜单)_铃儿小铃铛的博客-CSDN博客_androidstudio menu

目录

U4 Android应用界面

4.3 Android菜单设计

4.3.1 Android 选项菜单

4.3.2 Android上下文菜单

4.3.3Android子菜单

4.3.4 Java代码实例

U4 Android应用界面

4.3 Android菜单设计

Android系统支持3种菜单:

1.选项菜单(Option Menu)2.子菜单(Submenu)3.上下文菜单(Context Menu);

在Activity中可以通过重写onCreateOptionsMenu(Menu menu)方法创建选项菜单,在onCreateOptionsMenu(Menu menu)方法内部可以调用Menu.add()方法实现菜单的添加。

处理事件:重写Acticity的onMenuItemSelected()方法;

4.3.1 Android 选项菜单

选项菜单(Option Menu)分为两类:图标菜单(Icon Menu)和扩展菜单(Expanded Menu);图标菜单在安卓4.0之后,默认为垂直的列表型菜单,可以同时显示文字和图标,图标菜单不支持单选框和复选框控件。

扩展菜单Android:一步步开发一个高度可定制化的扩展菜单_Brioal的博客-CSDN博客

注意:一般的选项菜单:最多可以有两行,每行3个菜单项,当多余 6 个的时候或出现more,点击显示;

创建:重写 onCreateOptionsMenu() 方法;

事件:重写onOptionsItemSelected()方法 ;

4.3.2 Android上下文菜单

上下文菜单:ContextMenu

说明:选项菜单服务于Activity,上下文菜单是注册到某一个View对象上;

提示:可以为ContextMenu指定标题和图标,但菜单选项不能附带图标;

创建:重写onCreateContextMenu();

事件:重写onContextItemSelected();

注册:registerForContextMenu();

4.3.3Android子菜单

子菜单:SubMenu

说明:子菜单不能嵌套子菜单,即android中菜单只有两层;

提示:子菜单项不支持显示图标 ;

创建:使用addSubMenu(); 添加具有子菜单的菜单项 ;

4.3.4 Java代码实例

package com.example.menu; import android.app.Activity; import android.os.Bundle; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.Menu; import android.view.MenuItem; import android.view.SubMenu; import android.view.View; import android.widget.RelativeLayout; import android.widget.Toast; public class MainActivity extends Activity { private RelativeLayout myLayout; // 声明布局属性 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myLayout = (RelativeLayout) findViewById(R.id.myLayout); // 获取对象 registerForContextMenu(myLayout); // 注册上下文菜单 } /*********************************** 选项菜单 Start OptionMenu ************************************************/ // 选项菜单的实现 public boolean onCreateOptionsMenu(Menu menu) { /* * 参数说明: 1:组标识 2:菜单项ID ,唯一标识 3: 菜单项摆放的顺序 4:菜单上显示的文字 */ MenuItem addMenuItem = menu.add(1, 0, 0, "添加"); // 添加菜单项 addMenuItem.setIcon(R.drawable.icon_download2); // 设置图标 MenuItem uppMenuItem = menu.add(1, 1, 1, "修改"); uppMenuItem.setIcon(R.drawable.icon_download2); /* 子菜单实现 */ SubMenu delSubMenu = menu.addSubMenu(1, 1, 1, "删除"); // 给menu添加子菜单 delSubMenu.setHeaderIcon(R.drawable.icon_download2); // 设置子菜单单出框图标 delSubMenu.setHeaderTitle("删除"); delSubMenu.setIcon(R.drawable.icon_download2); // 创建子菜单的图标 delSubMenu.add(2, 11, 11, "直接"); // 为子菜单添加二级菜单 delSubMenu.add(2, 12, 12, "间接"); SubMenu showSubMenu = menu.addSubMenu(1, 2, 2, "显示"); // 添加子菜单 showSubMenu.setIcon(R.drawable.icon_download2); // 设置子菜单图标 showSubMenu.setHeaderIcon(R.drawable.icon_download2); // 设置弹出框图标 showSubMenu.setHeaderTitle("显示"); // 设置弹出框标题 showSubMenu.add(2, 21, 21, "全显"); showSubMenu.add(2, 21, 22, "慢显"); return true; } // 选项菜单选择事件 public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case 0: Toast.makeText(MainActivity.this, "选中了" + item.getTitle() + "菜单", Toast.LENGTH_LONG).show(); break; case 1: Toast.makeText(MainActivity.this, "选中了" + item.getTitle() + "菜单", Toast.LENGTH_LONG).show(); break; default: Toast.makeText(MainActivity.this, "选中了" + item.getTitle() + "菜单", Toast.LENGTH_LONG).show(); break; } return super.onOptionsItemSelected(item); } /** * 选项菜单被关闭时触发该方法: 1、back 按钮被点击 2、menu 按钮再次按下 3、选择了某一个菜单项 */ public void onOptionsMenuClosed(Menu menu) { super.onOptionsMenuClosed(menu); Toast.makeText(MainActivity.this, "选项菜单被关闭了...", Toast.LENGTH_LONG) .show(); } /** * 选项菜单显示之前调用 * * @return false :此方法把menu点击的动作屏蔽了,onCreateOptionsMenu 方法不会调用 */ public boolean onPrepareOptionsMenu(Menu menu) { Toast.makeText(MainActivity.this, "onPrepaareOptionsMenu()方法被调用...", Toast.LENGTH_LONG).show(); return super.onPrepareOptionsMenu(menu); } /***************************************** End OptionMenu **************************************************************/ /***************************************** 上下文菜单 Start ContextMenu **************************************************/ // 创建上下文菜单 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.setHeaderIcon(R.drawable.icon_download2); // 设置上下文菜单标题的图标 menu.setHeaderTitle("设置背景颜色"); // 设置上下文菜单的标题 MenuItem oneMenuItem = menu.add(Menu.NONE, 0, 0, "红色"); // 添加菜单项 一 MenuItem twoMenuItem = menu.add(Menu.NONE, 1, 1, "黑色"); // 添加菜单项 二 } // 上下文菜单选择事件 public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case 0: Toast.makeText(MainActivity.this, "选择了" + item.getTitle() + "菜单", Toast.LENGTH_LONG).show(); myLayout.setBackgroundColor(getResources().getColor(R.color.back)); // 设置颜色 break; case 1: Toast.makeText(MainActivity.this, "选择了" + item.getTitle() + "菜单", Toast.LENGTH_LONG).show(); myLayout.setBackgroundColor(getResources().getColor(R.color.red));// 设置颜色 break; } return super.onContextItemSelected(item); } // 上下文菜单关闭时调用.. public void onContextMenuClosed(Menu menu) { super.onContextMenuClosed(menu); Toast.makeText(MainActivity.this, "上下文菜单关闭...", Toast.LENGTH_LONG) .show(); } /***************************************** End ContextMenu ***********************************************************/ /***************************************** 子菜单 Start SubMenu ********************************************************/ // 结合选项菜单或者上下文菜单使用,本次结合上选项菜单实现子菜单.... /***************************************** End SubMenu ****************************************************************/ }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。