Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android menu+ anctionbar

Android menu+ anctionbar

編輯:關於Android編程

一、概述

Menu,簡單來理解就是當你按下手機的“menu”鍵時所彈出來的窗口,它被廣泛應用著,幾乎在每個應用中都有它的身影。


二、要求

用兩種方式實現菜單功能。


三、實現

新建工程MyMenu,修改/res/layout/main.xml文件,主要是修改了裡面的TextView,完整的main.xml文件如下:

復制代碼
 1 
2 3 android:layout_width="fill_parent"
4 android:layout_height="fill_parent"
5 android:orientation="vertical" >
6
7 8 android:layout_width="fill_parent"
9 android:layout_height="wrap_content"
10 android:text="這是一個菜單測試程序"
11 android:gravity="center_horizontal"
12 />
13
14
復制代碼

接著,修改MyMenuActivity.java文件,主要是覆寫了onCreateOptionsMenu()和onOptionsItemSelected()這兩個方法,在onCreateOptionsMenu()方法裡增加7個選項,比較簡單,完整的內容如下:

復制代碼
 1 package com.nan.menu;
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 public class MyMenuActivity extends Activity
10 {
11 /** Called when the activity is first created. */
12 @Override
13 public void onCreate(Bundle savedInstanceState)
14 {
15 super.onCreate(savedInstanceState);
16 setContentView(R.layout.main);
17
18 }
19
20 @Override
21 //當"menu"按鈕被按下時執行這個函數
22 public boolean onCreateOptionsMenu(Menu menu)
23 {
24 menu.add(0, 0, Menu.NONE, "菜單").setIcon(android.R.drawable.btn_star);
25 menu.add(0, 1, Menu.NONE, "菜單").setIcon(android.R.drawable.btn_star);
26 menu.add(0, 2, Menu.NONE, "菜單").setIcon(android.R.drawable.btn_star);
27 menu.add(0, 3, Menu.NONE, "菜單").setIcon(android.R.drawable.btn_star);
28 menu.add(0, 4, Menu.NONE, "菜單").setIcon(android.R.drawable.btn_star);
29 menu.add(0, 5, Menu.NONE, "菜單").setIcon(android.R.drawable.btn_star);
30 menu.add(0, 6, Menu.NONE, "菜單").setIcon(android.R.drawable.btn_star);
31
32 return super.onCreateOptionsMenu(menu);
33 }
34
35
36 //當菜單中某項被選中時執行這個函數
37 @Override
38 public boolean onOptionsItemSelected(MenuItem item)
39 {
40 switch(item.getItemId())
41 {
42 case 0:displayToast("第0項被選中");break;
43 case 1:displayToast("第1項被選中");break;
44 case 2:displayToast("第2項被選中");break;
45 case 3:displayToast("第3項被選中");break;
46 case 4:displayToast("第4項被選中");break;
47 case 5:displayToast("第5項被選中");break;
48 case 6:displayToast("第6項被選中");break;
49
50 }
51
52 return super.onOptionsItemSelected(item);
53 }
54
55 /*
56 @Override
57 public boolean onCreateOptionsMenu(Menu menu)
58 {
59 MenuInflater inflater = getMenuInflater();
60 inflater.inflate(R.layout.menu, menu); menu.add(0,0,Menu.NONE, "1").setIcon(R.drawable.ic_launcher);//自己加入其他東西
61 return super.onCreateOptionsMenu(menu);
62 }
63
64 @Override
65 public boolean onOptionsItemSelected(MenuItem item)
66 {
67 int item_id = item.getItemId();
68
69 switch(item_id)
70 {
71 case R.id.mlist://自己定義
72 {}
73 }
74 return super.onOptionsItemSelected(item);
75 }
76 */
77
78
79
80 //顯示Toast函數
81 private void displayToast(String s)
82 {
83 Toast.makeText(this, s, Toast.LENGTH_LONG).show();
84 }
85
86 }
復制代碼

可以用把注釋去掉然後把代碼換成XML來構建menu



名字叫做menu

  1. android:icon="@drawable/ic_action_search"
  2. android:title="@string/action_search"
  3. android:showAsAction="ifRoom" />
  4. android:title="@string/action_settings"
  5. android:showAsAction="never" />


  6. 不知道為什麼圖標出不來,只能在列表裡表示。

    PS:沒有圖標是只能在list裡面的不能再actionbar裡面的



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved