1. 程式人生 > >Android學習筆記之Menu一級選單、二級選單的使用

Android學習筆記之Menu一級選單、二級選單的使用

(1)佈局檔案沒有做更改

(2)在res--menu目錄下的main.xml檔案中程式碼如下:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <!-- 一級選單 -->
    <item
        android:id="@+id/file"
        android:title="@string/file">

        <!-- 二級選單 -->
        <menu>
            <item
                android:id="@+id/create"
                android:title="@string/create">
            </item>
            <item
                android:id="@+id/open"
                android:title="@string/open">
            </item>
        </menu>
    </item>
    <!-- 一級選單 -->
    <item
        android:id="@+id/chioce"
        android:title="@string/chioce">

        <!-- 二級選單 -->
        <menu>
            <item
                android:id="@+id/create1"
                android:title="@string/create">
            </item>
            <item
                android:id="@+id/open1"
                android:title="@string/open">
            </item>
        </menu>
    </item>

</menu>

(3)values目錄下的string.xml檔案中:
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Menu_submenu</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="file">檔案</string>
    <string name="create">新建</string>
    <string name="open">開啟</string>
    <string name="chioce">選項</string>

</resources>

(3)MainActivity.java程式碼如下:
package com.example.menu_submenu;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.widget.Toast;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	/*
	 * 處理一級選單
	 */
	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case R.id.file:
			Toast.makeText(MainActivity.this, "一級選單file..", Toast.LENGTH_SHORT)
					.show();
			break;
		case R.id.chioce:
			Toast.makeText(MainActivity.this, "一級選單chioce..",
					Toast.LENGTH_SHORT).show();
			break;

		default:
			break;
		}
		return super.onOptionsItemSelected(item);
	}

	/*
	 * 處理二級選單的
	 */
	@Override
	public boolean onMenuItemSelected(int featureId, MenuItem item) {
		switch (item.getItemId()) {
		case R.id.create1:
			Toast.makeText(MainActivity.this, "處理二級選單create1..",
					Toast.LENGTH_SHORT).show();
			break;
		case R.id.open1:
			Toast.makeText(MainActivity.this, "處理二級選單create1..",
					Toast.LENGTH_SHORT).show();
			break;
		case R.id.create:
			Toast.makeText(MainActivity.this, "處理二級選單create..",
					Toast.LENGTH_SHORT).show();
			break;
		case R.id.open:
			Toast.makeText(MainActivity.this, "處理二級選單open..",
					Toast.LENGTH_SHORT).show();
			break;

		default:
			break;
		}
		return super.onMenuItemSelected(featureId, item);
	}
}


相關推薦

Android學習筆記Menu一級選單二級選單的使用

(1)佈局檔案沒有做更改 (2)在res--menu目錄下的main.xml檔案中程式碼如下: <menu xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 一級選

Android學習筆記Menu的ShowAsAction屬性的設定

(1)在res--menu目錄下的main.xml檔案 <menu xmlns:android="http://schemas.android.com/apk/res/android" >

Android學習筆記選單詳解

選單概述 每個Activity都可以指定它自己的選單,按下硬體選單鍵即可顯示選項選單。。但是從 Android 3.0(API 級別 11)開始,硬體選單就變成了可選擇的。Activity推薦使用應用欄和溢位選單來代替傳統的6鍵選單。儘管某些選單項的設計和使用

android學習筆記ImageView的scaleType屬性

有關 sni mage nds 目標 big ins 分辨率 處理 我們知道,ImageView有一個屬性叫做scaleType,它的取值一共同擁有八種,各自是:matrix,fitXY。fitStart,fitCenter。fitEnd,center,centerCr

Android 學習筆記SharedPreference

andro 使用 googl Edito 獲取 存儲 dep ont print Android 學習筆記之SharedPreference SharedPreference作為android常用的四種存儲方式之一,在輕量級的使用中比較常見 創建、獲取sharedprefe

Android學習筆記IntentService

activit update 使用 pac .get ger foo 異步 tex Android學習筆記之IntentService IntentService是繼承並處理異步請求的一個類,IntentService內有一個工作線程來處理耗時操作,啟動IntentServ

Android學習筆記效能優化SparseArray

學習內容: 1.Android中SparseArray的使用..     昨天研究完橫向二級選單,發現其中使用了SparseArray去替換HashMap的使用.於是乎自己查了一些相關資料,自己同時對效能進行了一些測試。首先先說一下SparseArray的原理.

Android學習筆記詳細講解畫圓角圖片

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android學習筆記RadioButton RadioGroup

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android學習筆記百度地圖(駕車路線搜尋及RouteOverlay步行路線搜尋及RouteOverlay)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android學習筆記為Dialog自定義佈局,並說明空指標問題

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android學習筆記Bitmap點陣圖雖觸控點移動

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

多執行緒學習筆記十四——CountDownLatch CyclicBarrieSemaphore的使用

CountDownLatch CountDownLatch的構造器: public CountDownLatch(int count) { if (count < 0) throw new IllegalArgumentExceptio

android學習筆記fragment

為什麼引入fragment? 為了適應使用者或裝置的 需求,activity介面可以在執行時組裝,甚至重新組裝。 activity自身並不具有這樣的靈活性。activity檢視可以在執行時切換,但控制檢視的程式碼必須 在activity中實現。結果,各個act

android學習筆記託管UI fragment

為託管UI fragment,activity必須: 在其佈局中為fragment的檢視安排位置; 管理fragment例項的生命週期。 fragment的生命週期 。類似於activity的生命週期,它具有停止、暫停以及執行 狀態,也

Android學習筆記IPC

目錄 一、IPC的基本概念 所謂IPC,是Inter-Process Communication的縮寫,即跨程序通訊。說道程序,就要區別於執行緒: 執行緒是cpu排程的最小單元,同時執行緒是一種有限的系統資源 程序一般指一個

Android學習筆記解決螢幕旋轉後Activity重建問題

0.只需在activity類下重寫onSaveInstanceState方法,下面是一個重寫的例項,目的是儲存oncreate()方法中的臨時變數 @Override protected void onSaveInstanceState(Bundle outState)

Android學習筆記MeasureSpec

什麼是MeasureSpec Android系統在繪製View的時候,過程是十分複雜的,其中頻繁的使用到了MeasureSpec。那麼MeasureSpec是什麼?有什麼用?簡單點說,它是一個int值的中間變數,用來儲存View的尺寸規格。再說細點,在測量過程中,系統會將V

Android學習筆記View的事件分發機制

一、點選事件的傳遞規則 所謂的點選事件分發過程,其實就是當我們點選螢幕,產生了一個MotionEvent之後,系統將這個事件傳遞給一個具體View的過程。總的來說,事件總是先傳遞給Activity,然後傳遞給Window,再傳遞給頂級View(Activity→Window

Android學習筆記自定義View

一、自定義View的分類 1.1.繼承 View 這種方法主要用於實現一些不規則的效果(不方便通過佈局的組合方式來實現),比如靜態或動態地顯示一些不規則的圖形(因此需要重寫onDraw方法)。值得注意的是,繼承View的自定義View需要自己制定 wrap_content