Android_(菜单)选项菜单
Android系統中菜單分為Options Menu、Context Menu、Sub Men三種
Options Menu和Context Menu屬于一級菜單
Sub Menu屬于Options Menu和Context Menu的子菜單
Sub Menu下不能再添加菜單,Android最多只能支持兩級菜單
?
選項菜單(Options Menu)在當前Activity中按下菜單鍵就會顯示
Android4.0一下默認在屏幕底部(我也不知道我的為什么默認是在右上角!!!)
常用以下方法使用 選項菜單
?
onCreateOptionsMenu(Menu menu):創建菜單,會在菜單第一次顯示時調用。
onPrepareOnptionsMenu(Menu menu): 準備顯示菜單,菜單每次顯示前調用。
onOptionsItemSelected(MenuItem item):菜單項被選中后處理選中的菜單項。
onMenuOpened(int featureId,Menu menu):菜單被打開的事件。
onOptionsMenuClosed(Menu menu):菜單被關閉的事件。
openOptionsMenu():調用打開菜單
closeOptionsMenu():調用關閉菜單
?
運行截圖:
程序結構:
?
?
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="fill_parent"android:layout_height="fill_parent"tools:context="com.example.asus.gary_03.MainActivity"><EditTextandroid:id="@+id/txt"android:layout_width="fill_parent"android:layout_height="wrap_content"android:hint="輸入文字"android:editable="false"android:inputType="textPersonName" /> </LinearLayout> activity_main.xml?
package com.example.asus.gary_03;import android.graphics.Color; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.SubMenu; import android.widget.EditText; import android.widget.Toast;public class MainActivity extends AppCompatActivity {//定義字體大小菜單項的標識final int FONT_10 = 0x111;final int FONT_12 = 0x112;final int FONT_14 = 0x113;final int FONT_16 = 0x114;final int FONT_18 = 0x115;//定義普通菜單項的標識final int PLAIN_ITEM = 0x11b;//定義字體顏色菜單項的標識final int FONT_RED = 0x116;final int FONT_BLUE = 0x117;final int FONT_GREEN = 0x118;private EditText edit;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);edit = (EditText)findViewById(R.id.txt);}public boolean onCreateOptionsMenu(Menu menu) {//向menu中添加字體大小的子菜單SubMenu fontMenu = menu.addSubMenu("字體大小");//設置菜單的圖標 fontMenu.setIcon(android.R.drawable.btn_plus);//設置菜單頭的圖標 fontMenu.setHeaderIcon(android.R.drawable.btn_default);//設置菜單頭的標題fontMenu.setHeaderTitle("選擇字體大小");fontMenu.add(0,FONT_10,0,"10號字體");fontMenu.add(0,FONT_12,0,"12號字體");fontMenu.add(0,FONT_14,0,"14號字體");fontMenu.add(0,FONT_16,0,"16號字體");fontMenu.add(0,FONT_18,0,"18號字體");//向menu中添加普通菜單項menu.add(0,PLAIN_ITEM,0,"普通菜單項");//向menu中添加文字顏色的子菜單SubMenu colorMenu = menu.addSubMenu("字體的顏色");colorMenu.setIcon(android.R.drawable.btn_plus);colorMenu.setHeaderIcon(android.R.drawable.btn_default);colorMenu.setHeaderTitle("選擇文字的顏色");colorMenu.add(0,FONT_RED,0,"紅色");colorMenu.add(0,FONT_GREEN,0,"綠色");colorMenu.add(0,FONT_BLUE,0,"藍色");return super.onCreateOptionsMenu(menu);}public boolean onOptionsItemSelected(MenuItem mi){switch(mi.getItemId()){case FONT_10:edit.setTextSize(10*2);break;case FONT_12:edit.setTextSize(12*2);break;case FONT_14:edit.setTextSize(14*2);break;case FONT_16:edit.setTextSize(16*2);break;case FONT_18:edit.setTextSize(18*2);break;case FONT_RED:edit.setTextColor(Color.RED);break;case FONT_GREEN:edit.setTextColor(Color.GREEN);break;case FONT_BLUE:edit.setTextColor(Color.BLUE);break;case PLAIN_ITEM:Toast toast = Toast.makeText(MainActivity.this,"單擊普通菜單項",Toast.LENGTH_SHORT);toast.show();break;}return true;}} MainActivity?
?一、界面布局
只有一個EditText用來顯示測試的內容
?
二、實現程序
?
1、向menu中添加字體大小的子菜單
fontMenu.setHeaderTitle("選擇字體大小");fontMenu.add(0,FONT_10,0,"10號字體");fontMenu.add(0,FONT_12,0,"12號字體");fontMenu.add(0,FONT_14,0,"14號字體");fontMenu.add(0,FONT_16,0,"16號字體");fontMenu.add(0,FONT_18,0,"18號字體");//向menu中添加普通菜單項menu.add(0,PLAIN_ITEM,0,"普通菜單項");//向menu中添加文字顏色的子菜單SubMenu colorMenu = menu.addSubMenu("字體的顏色");colorMenu.setIcon(android.R.drawable.btn_plus);colorMenu.setHeaderIcon(android.R.drawable.btn_default);colorMenu.setHeaderTitle("選擇文字的顏色");colorMenu.add(0,FONT_RED,0,"紅色");colorMenu.add(0,FONT_GREEN,0,"綠色");colorMenu.add(0,FONT_BLUE,0,"藍色");?
2、實現對子菜單項的選擇
onOptionsItemSelected(MenuItem item):菜單項被選中后處理選中的菜單項。
public boolean onOptionsItemSelected(MenuItem mi){switch(mi.getItemId()){case FONT_10:edit.setTextSize(10*2);break;case FONT_12:edit.setTextSize(12*2);break;case FONT_14:edit.setTextSize(14*2);break;case FONT_16:edit.setTextSize(16*2);break;case FONT_18:edit.setTextSize(18*2);break;case FONT_RED:edit.setTextColor(Color.RED);break;case FONT_GREEN:edit.setTextColor(Color.GREEN);break;case FONT_BLUE:edit.setTextColor(Color.BLUE);break;case PLAIN_ITEM:Toast toast = Toast.makeText(MainActivity.this,"單擊普通菜單項",Toast.LENGTH_SHORT);toast.show();break;}return true;}?
轉載于:https://www.cnblogs.com/1138720556Gary/p/9281417.html
總結
以上是生活随笔為你收集整理的Android_(菜单)选项菜单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 7-37 整数分解为若干项之和(20 分
- 下一篇: SAM文件格式