亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android編程之菜單實現方法

2020-04-11 11:17:41
字體:
來源:轉載
供稿:網友

本文實例講述了Android編程之菜單實現方法。分享給大家供大家參考,具體如下:

菜單是許多應用程序不可或缺的一部分,Android中更是如此,所有搭載Android系統的手機都要有一個“menu”鍵,即菜單鍵,由此可見菜單在Android程序中的重要與特殊,其中Android的SDK提供了三種類型:分別為options menu(常規菜單),context menu(上下文菜單)和submenu(子菜單)。其中options menu是通過按Menu鍵來顯示,context menu通過在view(視圖控件上)按2秒之后才會顯示,這兩種菜單都可以嵌套子菜單,但是子菜單里不能嵌套子菜單。

Options menu只能在屏幕最下面顯示六個菜單選項,這六個菜單叫做icon menu(圖標菜單),圖標菜單不能有checkable選項,多于6項的會以more icon menu菜單來調出,叫做expanded menu(擴展菜單).options menu(選項菜單)通過activity 的onCreateOptionsMenu來生成,這個函數只會在Menu第一次生成時調用,任何想要改變options menu的只能通過onPrepareOptionsMenu來實現,這個函數會在menu顯示之前被調用。onOptionsItemSeleted用來處理選中的options menu菜單項

Context Menu是跟某個具體的view捆綁在一起的,在activity中用registerForContextMenu來為某個view注冊上下文菜單。Context menu在顯示之前會調用onCreateContextMenu來生成menu,onContextItemSeleted用來處理選中的context menu 菜單。

Submenu是子菜單,可以嵌套在以上兩種菜單中,但是子菜單不能嵌套子菜單

Android還提供了對菜單項進行分組的功能,可以把相似功能的菜單分在一組里面,這樣就可以通過調用setGroupCheckable,setGroupEndable,setGroupVisible來設置屬性菜單,而不用單獨設置了。

1、下面是一個創建options menu 的例子:

首先在res里創建一個menu文件夾,里面可以創建許多menu的資源文件,方便管理。在這個文件夾里創建一個Android的xml文件,代碼如下:

<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" >  <item    android:id="@+id/newFile"    android:icon="@drawable/ic_launcher"    android:title="@string/newFile_title"/>  <item    android:id="@+id/ecit"    android:icon="@drawable/ic_launcher"    android:title="@string/exit_title"/></menu>

這里創建了兩個菜單選項,每個item是一個菜單選項,其中的icon也可以不寫;title里面的內容要在string文件里提前寫上,這是菜單的標題;最后在Activity里面通過onCreateOptionsMenu方法創建這個菜單,然后通過onOptionsItemSelect方法來處理這個菜單。代碼如下:

package cn.csdn.android.menu;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;import android.view.MenuItem.OnMenuItemClickListener;import android.widget.Toast;public class MenuTest1Activity extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {MenuInflater inflater = getMenuInflater();inflater.inflate(R.menu.options_menu, menu);return true;}}

運行結果如下圖所示:

在屏幕的下方可以看到這兩個菜單。

2、在Activity中添加方法可以響應菜單的一些事件,通過上面的例子,在它的Activity中添加onOptionsItemSelected方法,可以是菜單完成它的功能,onOptionsItemSelected的代碼如下:

public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()){ case R.id.newFile: Toast.makeText(this,"new file",Toast.LENGTH_LONG).show(); break; case R.id.ecit: //Toast.makeText(this,"exit",Toast.LENGTH_LONG).show(); this.finish(); break;}

添加此方法后點擊“退出”按鈕可以退出,點擊“新建文件”出現名為“new file”的對話框。
也可以用onMenuItemClick方法處理:代碼如下

public boolean onMenuItemClick(MenuItem item) {switch (item.getItemId()) {case R.id.newFile:Toast.makeText(this, "new file", Toast.LENGTH_LONG).show();break;case R.id.ecit:// Toast.makeText(this,"exit",Toast.LENGTH_LONG).show();this.finish();break;}return false;

功能和上一個方法一樣

3、創建子菜單,在xml文件中插入菜單,下面的例子是在第二個菜單里插入兩個菜單:xml文件源碼如下:

<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" >  <item    android:id="@+id/menuitem1"    android:title="menuitem1"/>  <item    android:id="@+id/menuitem2"    android:title="menuitem2">    <menu >      <item        android:id="@+id/menuitem3"        android:title="menuitem3"/>      <item        android:id="@+id/menuitem4"        android:title="menuitem4">      </item>    </menu>  </item></menu>

4、帶單選或復選的子菜單,在創建菜單時添加setGroupCheckable方法,來確定添加的是單選還是復選:

public boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.second_menu, menu);SubMenu sm = menu.findItem(R.id.item3).getSubMenu();sm.setIcon(R.drawable.ic_launcher);// sm.setGroupCheckable(0, true, true);sm.getItem(0).setCheckable(true);sm.getItem(0).setChecked(true);this.menu = menu;return super.onCreateOptionsMenu(menu);}

希望本文所述對大家Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国内自拍欧美激情| 97视频在线看| 亚洲欧美中文在线视频| 97涩涩爰在线观看亚洲| 久久影院免费观看| 亚洲男人天堂古典| 久久久中文字幕| 91精品国产自产在线观看永久| 久久精品视频导航| 中文欧美日本在线资源| 国产欧美精品日韩精品| 精品国内自产拍在线观看| 久久久久女教师免费一区| 亚洲日韩欧美视频一区| 国产97色在线| 欧美激情一区二区三区在线视频观看| 欧美福利视频网站| 亚洲自拍偷拍色片视频| 亚洲综合日韩在线| 亚洲国产精久久久久久久| 97视频在线观看网址| 91成人性视频| 亚洲精品456在线播放狼人| 中文字幕在线看视频国产欧美在线看完整| 国产精品偷伦视频免费观看国产| 色综合久久天天综线观看| 日韩免费在线看| 在线观看亚洲区| 国产精品一区二区三区在线播放| 国产精品久久久久久久久久尿| 91精品国产91久久久久久| 最近2019年中文视频免费在线观看| 国产亚洲成av人片在线观看桃| 狠狠躁夜夜躁人人爽天天天天97| 日韩av网站大全| 久久精品成人欧美大片古装| 成人性教育视频在线观看| 亚洲va电影大全| 亚洲精品美女视频| 国产欧美日韩精品在线观看| 国产精品自拍视频| 成人免费网视频| 亚洲免费影视第一页| 欧美色图在线视频| 亚洲欧美日韩中文在线制服| 国模精品视频一区二区三区| 在线视频免费一区二区| 欧美视频第一页| 亚洲专区中文字幕| 4k岛国日韩精品**专区| 最近2019年日本中文免费字幕| 97在线视频观看| 精品成人国产在线观看男人呻吟| 久久天天躁狠狠躁夜夜躁2014| 国产精品18久久久久久麻辣| 视频直播国产精品| 成人亚洲欧美一区二区三区| 中日韩美女免费视频网址在线观看| 性欧美xxxx交| 亚洲天堂视频在线观看| 色偷偷噜噜噜亚洲男人的天堂| 日本国产欧美一区二区三区| 欧美在线激情网| 日韩欧美精品网址| 国产日韩av在线| 日韩欧美中文免费| 欧美激情性做爰免费视频| 欧美成人中文字幕在线| 国产精品678| 成人欧美一区二区三区在线湿哒哒| 日韩欧美在线观看视频| 热草久综合在线| 亚洲欧美制服第一页| 国模私拍一区二区三区| 久久精品国产2020观看福利| 国产欧美日韩91| 日韩成人在线免费观看| 日本在线观看天堂男亚洲| 久久这里只有精品视频首页| 最近2019中文字幕第三页视频| 美女久久久久久久久久久| 2019中文在线观看| 国产精品白丝av嫩草影院| 丝袜情趣国产精品| 国产精品香蕉在线观看| 91精品国产自产在线| 亚洲在线免费看| 国产精品伦子伦免费视频| 国产99久久精品一区二区永久免费| 欧美性色xo影院| 国产在线观看91精品一区| 国产精品h在线观看| 一区国产精品视频| 日韩av网站大全| 亚洲精品一区二区三区婷婷月| 欧美中文字幕在线播放| 国产精品极品在线| 亚洲人成亚洲人成在线观看| 91在线中文字幕| 日本人成精品视频在线| 国产精品免费一区豆花| 亚洲精品白浆高清久久久久久| 91精品久久久久久久久久| 国产精品都在这里| 欧美成在线视频| 国产成人精彩在线视频九色| 中文字幕免费国产精品| 4388成人网| 中文字幕亚洲欧美日韩高清| 在线日韩精品视频| 欧美性受xxxx黑人猛交| 日韩av在线免费看| 亚洲性无码av在线| 日韩亚洲在线观看| 中文字幕日韩欧美在线| 精品久久久久久国产| 日本亚洲精品在线观看| 久久综合久久美利坚合众国| 欧美成人sm免费视频| 欧美激情精品久久久久久大尺度| 久久久视频在线| 国产一区二区三区视频| 亚洲成avwww人| 日韩av一区二区在线观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲午夜精品视频| 国产日韩欧美在线播放| 91在线免费网站| 欧美视频二区36p| 美日韩在线视频| 青草热久免费精品视频| 国产91精品视频在线观看| 欧美小视频在线观看| 欧洲日本亚洲国产区| 国产亚洲精品美女久久久久| 国自产精品手机在线观看视频| 日韩视频中文字幕| 日本精品va在线观看| 在线观看国产精品日韩av| 美女黄色丝袜一区| 91精品国产高清自在线看超| 97超级碰碰碰久久久| 少妇久久久久久| 欧美疯狂性受xxxxx另类| 日韩欧美aⅴ综合网站发布| 亚洲欧美日韩精品久久亚洲区| 国产成人avxxxxx在线看| 亚洲欧美中文日韩在线v日本| 国产精品一区二区三区免费视频| 亚洲性日韩精品一区二区| 日韩av不卡在线| 色爱精品视频一区| 91在线免费看网站| 亚洲精品久久久一区二区三区| 久久精品国产亚洲一区二区| 色偷偷偷亚洲综合网另类| 亚洲最大福利网| 日韩中文字幕在线播放| 久久久久久噜噜噜久久久精品| 琪琪亚洲精品午夜在线| 亚洲国产成人在线视频| 国产裸体写真av一区二区| 日韩在线视频导航| 欧美精品久久久久久久免费观看|