Android Studio基礎-選項菜單Java實現實例

2021-01-10 騰訊網

在Android應用程式中菜單是用戶界面中最常見的元素之一,使用非常頻繁。通常Android應用程式中的菜單默認是不可見的,只有當用戶單擊手機上的「Menu」鍵,系統才會顯示該應用關聯的菜單。所以一般的Android系統的手機都要有一個"Menu"鍵。Android主要有兩種菜單:選項菜單(OptionsMenu)和上下文菜單(Context Menu)。

選項菜單(Options Menu)作用於全局界面。點擊「Menu」鍵彈出菜單,應用程式中將較少使用的命令放入此菜單中,或者界面中信息密度多大,部分命令無法完全顯示時,可對選項菜單加以利用。使用觸控螢幕無法調用此功能。

Android提供了兩種創建菜單的方法,一種是在java代碼中創建,另一種是使用xml資源文件定義

一、效果圖:

二、頁面布局

三、代碼實現

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

//Ctrl+o

@Override

public boolean onCreateOptionsMenu(Menu menu) {

menu.add(Menu.NONE,Menu.FIRST+1,3,"保存").setIcon(android.R.drawable.ic_menu_save);

menu.add(Menu.NONE,Menu.FIRST+1,3,"保存").setIcon(android.R.drawable.ic_menu_save);

menu.add(Menu.NONE,Menu.FIRST+2,4,"刪除").setIcon(android.R.drawable.ic_menu_delete);

menu.add(Menu.NONE,Menu.FIRST+3,2,"編輯").setIcon(android.R.drawable.ic_menu_edit);

menu.add(Menu.NONE,Menu.FIRST+4,5,"添加").setIcon(android.R.drawable.ic_menu_add);

menu.add(Menu.NONE,Menu.FIRST+5,1,"詳情").setIcon(android.R.drawable.ic_menu_info_details);

menu.add(Menu.NONE,Menu.FIRST+6,6,"幫助").setIcon(android.R.drawable.ic_menu_help);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch(item.getItemId())

{

case Menu.FIRST+1:Toast.makeText(this,"保存菜單事件",Toast.LENGTH_SHORT).show();

break;

case Menu.FIRST+2:Toast.makeText(this,"刪除菜單事件",Toast.LENGTH_SHORT).show();

break;

case Menu.FIRST+3:Toast.makeText(this,"編輯菜單事件",Toast.LENGTH_SHORT).show();

break;

case Menu.FIRST+4:Toast.makeText(this,"添加菜單事件",Toast.LENGTH_SHORT).show();

break;

case Menu.FIRST+5:Toast.makeText(this,"詳情菜單事件",Toast.LENGTH_SHORT).show();

break;

case Menu.FIRST+6:Toast.makeText(this,"幫助菜單事件",Toast.LENGTH_SHORT).show();

break;

}

return false;

}

}

相關焦點

  • Android Studio基礎-上下文菜單兩種實現方式舉例
    1.MainActivity演示用java代碼add()實現上下文菜單 2.SeccondActivity演示用XML配置方式實現上下文菜單,用按鈕跳轉到這個Activity 在Android應用程式中菜單是用戶界面中最常見的元素之一,使用非常頻繁。
  • Android - android xml 層級專題及常見問題 - CSDN
    它們被保存在res/layout/文件夾下,通過R.layout類訪問menu/定義應用程式菜單的XML文件,如選項菜單,上下文菜單,子菜單等。它們被保存在res/menu/文件夾下,通過R.menu類訪問raw/任意的文件以它們的原始形式保存。
  • 谷歌Android Studio Arctic Fox (2020.3.1) 預覽版發布,附更新內容
    版本說明 https://developer.android.google.cn/studio/releases對於那些嘗試使用 Jetpack Compose 的用戶,我們提供了大量更新內容,例如將 @Preview Composable 部署到設備 / 模擬器 :Jetpack Composehttps:/
  • Android系統開機動畫的一生
    sp<SurfaceFlinger> flinger = new SurfaceFlinger(); flinger->init(); flinger->run();}這裡創建一個SurfaceFlinger實例
  • App安全檢測實踐基礎——工具
    java_exe=java.exe if defined JAVA_HOME (set java_exe="%JAVA_HOME%\bin\java.exe") rem Find the highest version .jar available in the samedirectory as the scriptsetlocal EnableDelayedExpansionpushd "%~dp0
  • Java基礎面試題簡單總結
    Java基礎方面:1、作用域public,private,protected,以及不寫時的區別答:區別如下:寫時默認為friendly 2、Anonymous Inner Class (匿名內部類)不能創建abstract 類的實例。然而可以創建一個變量,其類型是一個抽象類,並讓它指向具體子類的一個實例。不能有抽象構造函數或抽象靜態方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現,否則它們也是抽象類為。取而代之,在子類中實現該方法。
  • java流程控制實例代碼演示for、while、break、return、switch等
    Java數據轉換和越界實例展示-附帶整個Java知識圖譜-建議收藏)通過關係操作符和邏輯操作符得出的結果就差強人意,會走向不同的程序分支上去,如何實現分支的選擇就要看流程控制了。下面看一下實例代碼演示效果:java流程控制實例代碼演示圖上述案例演示的不夠全面
  • Android Spinner下拉框的基本使用
    默認情況下Spinner顯示的是當前選擇的值,點擊Spinner會彈出一個包含所有可選值的dropdown菜單,從該菜單中可以為Spinner選擇一個新值。array.xml添加<string-arrayname="spinnerclass"><item>c語言</item><item>java
  • 開源之系統:非終端命令,Ubuntu中去官網下載安裝Android Studio
    而這次我們開始安裝Android studio用以開發Android應用APP。我們打開官網,找到下載的頁面。就能找到down Android Studio的綠色按鈕,下面是版本的字樣,機智客這裡下載的是4.1.1 for Linux 64-bit (883 MB)。然後點擊下載,彈窗一個頁面,需要閱讀並同意相關協議。同樣有一個下載按鈕,上面有:適用平臺:Linux 的字樣。
  • Android Studio 4.0 發布
    除了以上介紹的更新內容,Android Studio 4 還初步支持了 Kotlin DSL 腳本文件、為 C++ 開發啟用了 clangd 作為主要的語言分析引擎,以及其它一系列改進,詳情可以查看發布公告:https://android-developers.googleblog.com/2020/05/android-studio
  • 谷歌Android Studio Arctic Fox預覽版發布 共200多處質量改進
    版本說明 https://developer.android.google.cn/studio/releases對於那些嘗試使用 Jetpack Compose 的用戶,我們提供了大量更新內容,例如將 @Preview Composable 部署到設備 / 模擬器 :
  • android電源管理 - OFweek電子工程網
    framework層主要有這兩個文件:  frameworks\base\core\java\android\os\PowerManager.java  frameworks\base\services\java\com\android\server\PowerManagerService.java  其中PowerManager.java
  • 谷歌Android Studio 和 Gradle 插件使用全新版本編號
    Android Studio 的新版本編號方案IT之家獲悉,從 Arctic Fox (2020.3.1) 開始,Android Studio 的版本號系統將以年份為基礎,從而更加符合 IntelliJ IDEA 的版本模式——Android Studio 正是基於這個 IDE 構建的。
  • 谷歌:Android Studio 和 Gradle 插件使用全新版本編號
    Android Studio 的新版本編號方案IT之家獲悉,從 Arctic Fox (2020.3.1) 開始,Android Studio 的版本號系統將以年份為基礎,從而更加符合 IntelliJ IDEA 的版本模式——Android Studio 正是基於這個 IDE 構建的。
  • Java中加載資料庫驅動的方式有幾種?背後的原理是什麼?
    Driver接口先來了解下java.sql.Driver接口,java.sql.Driver是所有JDBC驅動程序需要實現的接口。這個接口是提供給資料庫廠商使用的,不同廠商實現該接口的類名是不同的,例如MySQL 8.x的JDBC驅動的類名是:com.mysql.cj.jdbc.Driver。
  • android開發 自我優勢 - CSDN
    自我評價(案例二)Java基礎牢固,線程,集合, IO流, tcp/udp基礎網絡,基礎算法 等操作熟練熟練使用Android studio ,eclipse, postman,markdonw, wireshark等工具熟練掌握Android各項基本開發技能,如普通界面繪製,資料庫,各類原生組件,各類原生服務,生命周期等等熟練掌握
  • JAVA8——JAVA成長之路
    你可能認為Java 8耗費了大量的時間才得以完成是為了實現了每個Java程式設計師所期待的特性。在這個小節裡,我們將會涉及到這些特性的大部分。相反,每個接口都必須提供一個所謂的默認實現,這樣所有的接口實現者將會默認繼承它(如果有必要的話,可以覆蓋這個默認實現)。讓我們看看下面的例子:下面的一小段代碼片段把上面的默認方法與靜態方法黏合到一起。在JVM中,默認方法的實現是非常高效的,並且通過字節碼指令為方法調用提供了支持。
  • android啟動頁設計專題及常見問題 - CSDN
    這篇文章主要包括以下兩方面內容 集成騰訊廣告聯盟的SDK 啟動頁加載過程中,後臺初始化數據 我們在設計啟動頁時的常規做法是建立一個Activity來加載開屏圖片或者廣告,作為程序的入口,那麼在這個三到五秒時間內如果進行數據下載,當用戶點擊了跳過按鈕或者計時結束了數據還沒初始化完成,已經進入了主頁面,而主界面剛好需要那些基礎數據該如何?
  • 在程序中如何正確地創建和銷毀軟體應用系統中文件IO流對象實例
    軟體項目實訓及課程設計指導——如何正確地創建和銷毀軟體應用系統中文件IO流對象實例1、Java文件輸入輸出(讀寫)相關的技術基礎知識(1)流(Stream)它是通過緩衝機制將數據從生產者(如鍵盤、磁碟文件、內存或其他設備