www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 從官方文檔了解到,從Android3.0(API level 11)開(kāi)始,Android設(shè)備不再要求提供一個(gè)專門的菜單按鈕,轉(zhuǎn)而推薦使用ActionBar。所以現(xiàn)在市面上很多新設(shè)備使用三個(gè)虛擬按鍵,

 從官方文檔了解到,從Android3.0(API level 11)開(kāi)始,Android設(shè)備不再要求提供一個(gè)專門的菜單按鈕,轉(zhuǎn)而推薦使用ActionBar。所以現(xiàn)在市面上很多新設(shè)備使用三個(gè)虛擬按鍵,并不再額外提供菜單按鈕。

因?yàn)锳ndroid版本的發(fā)展,對(duì)于菜單的支持各個(gè)版本有很大的區(qū)別,而Android3.0是個(gè)分水嶺,大概可以分為下面三類:

OptionMenu和ActionBar:一些操作的集合,如果開(kāi)發(fā)的平臺(tái)在Android3.0之上,推薦使用ActionBar,如果開(kāi)發(fā)的平臺(tái)在Android2.3或之下,還是可以使用OptionMenu的。

ContextMenu和ActionMode:ContextMenu是一個(gè)浮動(dòng)的窗口形式展現(xiàn)一個(gè)選項(xiàng)列表,ActionMode是一個(gè)顯示在屏幕頂部的操作欄,允許用戶選擇多個(gè)選項(xiàng),ActionMode在Android3.0之后才有支持。

Popup Menu:PopupMenu是固定在View上的模態(tài)菜單,以彈出的方式顯示,在Android3.0之后才有支持。

【在XML中定義一個(gè)菜單】

Android提供了標(biāo)準(zhǔn)的XML格式的資源文件來(lái)定義菜單項(xiàng),并且對(duì)所有菜單類型都支持,推薦使用XML資源文件來(lái)定義菜單,之后再把它Inflater到Activity或者Fragment中,而不是在Activity中使用代碼聲明。

而菜單的XML資源文件,需要?jiǎng)?chuàng)建在/res/menu/目錄下,并且包含一下幾個(gè)元素:

 

:定義一個(gè)Menu,是一個(gè)菜單資源文件的根節(jié)點(diǎn),里面可以包含一個(gè)或者多個(gè)元素。

 

:創(chuàng)建一個(gè)MenuItem,代表了菜單中一個(gè)選項(xiàng)。

:對(duì)菜單項(xiàng)進(jìn)行分組,可以以組的形式操作菜單項(xiàng)。

元素除了常規(guī)的id、icon、title屬性的支持,還有一個(gè)重要的屬性:android:showAsAction,這個(gè)屬性是起兼容性的,描述了在Android的高版本中,菜單項(xiàng)何時(shí)以何種方式加入到ActionBar中。

是對(duì)菜單進(jìn)行分組,分組后的菜單顯示效果并沒(méi)有區(qū)別,唯一的區(qū)別在于可以針對(duì)菜單組進(jìn)行操作,這樣對(duì)于分類的菜單項(xiàng),操作起來(lái)更方便,提供如下的操作:

Menu.setGroupCheckable():菜單組內(nèi)的菜單是否都可選。

Menu.setGroupVisible():是否隱藏菜單組的所有菜單。

Menu.setGroupEnabled():菜單組的菜單是否有用。

如果菜單項(xiàng)需要單選或者多選,可以使用android:checkableBehavior屬性設(shè)置,它可以對(duì)單個(gè)或者設(shè)置一個(gè)組,這個(gè)屬性接受三個(gè)參數(shù):single,單選;all,多選,none,沒(méi)有Checked的選項(xiàng),默認(rèn)。

當(dāng)創(chuàng)建好一個(gè)XML菜單資源文件之后,可以使用MenuInflater.inflate()方法填充菜單資源,使XML資源變成一個(gè)可編程的對(duì)象。

一、Options menu選項(xiàng)菜單:

OptionMenu,選項(xiàng)菜單,單擊手機(jī)上的菜單鍵(MENU)出現(xiàn),必須設(shè)備具有菜單按鈕才可以觸發(fā)。因?yàn)槠聊坏南拗?,最多只能展示六個(gè)菜單項(xiàng),如果定義的菜單項(xiàng)超出了六個(gè),其他的菜單項(xiàng)將被隱藏,第六個(gè)菜單將會(huì)顯示“更多”,點(diǎn)擊展開(kāi)更多的菜單。雖說(shuō)在Android3.0之后不再推薦使用選項(xiàng)菜單,但是如果使用了,在Android3.0之后的設(shè)備上,選項(xiàng)菜單項(xiàng)將被默認(rèn)轉(zhuǎn)移到ActionBar中,這個(gè)可以通過(guò)android:showAsAction屬性控制。

創(chuàng)建選項(xiàng)菜單的核心步驟:

(1)重寫Activity的onCreateOptionMenu(Menu menu)方法,當(dāng)菜單第一次被加載時(shí)調(diào)用

(2)調(diào)用Menu 的add( )方法添加菜單項(xiàng)(MenuItem),同時(shí)可以調(diào)用MenuItem的setIcon()方法為菜單項(xiàng)設(shè)置圖標(biāo)(注:Android 3.0之后,即使添加了圖標(biāo)也不會(huì)顯示)

(3)重寫Activity的OptionsItemSelected(MenuItem item)來(lái)響應(yīng)菜單項(xiàng)(MenuItem)的點(diǎn)擊事件

來(lái)看一下具體的代碼實(shí)現(xiàn):

新建Android工程MenuTest:

【方式一】通過(guò)配置文件添加Menu選項(xiàng)

(1)在res/menu/main.xml中定義菜單項(xiàng)。main.xml的代碼如下:

復(fù)制代碼

 

xmlns:tools="http://schemas.android.com/tools"

tools:context="com.example.menutest.MainActivity" >

 

android:id="@+id/start"

android:orderInCategory="100"

android:showAsAction="never"

android:title="@string/start"/>

 

android:id="@+id/over"

android:orderInCategory="200"

android:showAsAction="never"

android:title="@string/over"/>

 

 

復(fù)制代碼

注:第9行和第15行的字符串引用,需要提前在strings.xml文件中設(shè)置好。

(2)MainActivity.java:

復(fù)制代碼

1 package com.example.menutest;

2

3 import android.app.Activity;

4 import android.os.Bundle;

5 import android.view.Menu;

6 import android.view.MenuItem;

7 import android.widget.Toast;

8

9

10 public class MainActivity extends Activity {

11

12 @Override

13 protected void onCreate(Bundle savedInstanceState) {

14 super.onCreate(savedInstanceState);

15 setContentView(R.layout.activity_main);

16 }

17

18

19 //重寫onCreateOptionMenu(Menu menu)方法,當(dāng)菜單第一次被加載時(shí)調(diào)用

20 @Override

21 public boolean onCreateOptionsMenu(Menu menu) {

22 // Inflate the menu; this adds items to the action bar if it is present.

23 //填充選項(xiàng)菜單(讀取XML文件、解析、加載到Menu組件上)

24 getMenuInflater().inflate(R.menu.main, menu);

25 return true;

26 }

27

28 //重寫OptionsItemSelected(MenuItem item)來(lái)響應(yīng)菜單項(xiàng)(MenuItem)的點(diǎn)擊事件(根據(jù)id來(lái)區(qū)分是哪個(gè)item)[!--empirenews.page--]

29 @Override

30 public boolean onOptionsItemSelected(MenuItem item) {

31 // Handle action bar item clicks here. The action bar will

32 // automatically handle clicks on the Home/Up button, so long

33 // as you specify a parent activity in AndroidManifest.xml.

34 switch (item.getItemId()) {

35 case R.id.start:

36 Toast.makeText(this, "開(kāi)始游戲", Toast.LENGTH_SHORT).show();

37 break;

38 case R.id.over:

39 Toast.makeText(this, "結(jié)束游戲", Toast.LENGTH_SHORT).show();

40 break;

41

42 default:

43 break;

44 }

45 return super.onOptionsItemSelected(item);

46 }

47 }

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

微電子產(chǎn)品的可靠性是評(píng)價(jià)其質(zhì)量的關(guān)鍵指標(biāo)。在微電子組裝過(guò)程中,由于元器件的微小化和集成度的提高,對(duì)組裝精度的要求也越來(lái)越高。因此,確保組裝過(guò)程中的可靠性,對(duì)于提升產(chǎn)品的整體質(zhì)量和客戶滿意度至關(guān)重要。

關(guān)鍵字: 微組裝 組件

其他電腦(比如安卓手機(jī)/平板電腦)的屏幕壞了,你可能想在安排維修之前緊急訪問(wèn)一些東西。你可以使用android的USB OTG功能(是的,幾乎每個(gè)android都支持這個(gè)功能,你可以將鼠標(biāo)和鍵盤連接到它)。

關(guān)鍵字: USB 鼠標(biāo) Android 樹(shù)莓派

-Vehere宣布推出v1.8.1,為安全分析師提供更精準(zhǔn)的檢測(cè)、更快的響應(yīng)和更智能的工作流程 舊金山2025年7月18日 /美通社/ -- 領(lǐng)先的人工智能驅(qū)動(dòng)型網(wǎng)絡(luò)情報(bào)提...

關(guān)鍵字: 網(wǎng)絡(luò) UI MT BSP

上海 2025年6月11日 /美通社/ -- 6月11日,國(guó)電投新能源科技有限公司(以下簡(jiǎn)稱"國(guó)電投新能源")攜銅柵線異質(zhì)結(jié)(C-HJT)光伏組件亮相2025年SNEC國(guó)際太陽(yáng)能光伏展。隨著&quo...

關(guān)鍵字: 光伏產(chǎn)業(yè) 新能源 組件 光伏組件

常州 2025年5月21日 /美通社/ -- 在近期的光伏行業(yè)會(huì)議上,天合光能支架事業(yè)部聯(lián)席總裁王芝斌發(fā)表題為《電力市場(chǎng)化交易環(huán)境下電站設(shè)備選型》的主題演講。演講中王芝斌不僅深入探討了在136號(hào)文新形勢(shì)下跟蹤支架在提升...

關(guān)鍵字: 光伏 組件 電力市場(chǎng) 選型

Google 宣布與中國(guó) AR 科技公司 XREAL 達(dá)成深度戰(zhàn)略合作,聯(lián)合推出全球首款專為 Android XR 平臺(tái)打造的旗艦級(jí) AR 眼鏡 Project Aura。

關(guān)鍵字: Google XREAL Android XR眼鏡 AR

青島 2025年4月30日 /美通社/ -- 4月25日,在山東省市場(chǎng)監(jiān)督管理局的指導(dǎo)下,國(guó)際獨(dú)立第三方檢測(cè)、檢驗(yàn)和認(rèn)證機(jī)構(gòu)德國(guó)萊茵TÜV大中華區(qū)(簡(jiǎn)稱"...

關(guān)鍵字: 新能源 研討會(huì) 組件 太陽(yáng)能光伏

在當(dāng)今這個(gè)信息化、智能化的時(shí)代,無(wú)線通信技術(shù)已經(jīng)滲透到我們生活的方方面面。從智能家居、工業(yè)自動(dòng)化到遠(yuǎn)程監(jiān)控、醫(yī)療健康,無(wú)線射頻模塊作為無(wú)線通信的核心組件,其性能與穩(wěn)定性直接關(guān)系到整個(gè)系統(tǒng)的運(yùn)行效果。本文將為大家推薦幾款高...

關(guān)鍵字: 無(wú)線通信 組件 芯片

繼停止維護(hù)AOSP開(kāi)源項(xiàng)目后,谷歌母公司Alphabet近日被曝在其安卓系統(tǒng)(Android)、Pixel手機(jī)以及Chrome瀏覽器等部門裁員數(shù)百人。這一舉措引發(fā)了業(yè)界的廣泛關(guān)注,也引發(fā)了對(duì)谷歌未來(lái)業(yè)務(wù)布局的諸多猜測(cè)。

關(guān)鍵字: 谷歌 AOSP Android 裁員
關(guān)閉