这篇文章中我们将创建一个应用并添加操作项(Action items)和浮动菜单项(Overflow menu items)到操作栏(Action bar)中。这个应用使用Eclipse 3.7.2开发环境并在Android api版本14中测试。如果你要也想添加操作项、浮动菜单项和操作栏到更早的版本蜂窝(Honeycomb)版本(API level < 11)中,可以看这篇文章《使用Sherlock库在Android更早版本蜂窝(Honeycomb)中添加菜单到操作栏》。

1.创建一个新的Android程序名字“ActionBarMenu”


2.选择Android构建(build)目标(target)


3.进入应用详情


4.下载图片

下面给出链接,下载文件drawable-mdpi.zip、drawable-hdpi.zip和drawable-xhdpi.zip并分别解压到目录drawable-mdpi,、drawable-hdpi和drawable-xhdpi中。


5. res/values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="hello">MainActivity</string>
<string name="app_name">ActionBarMenu</string>

<string name="phone">Phone</string>
<string name="computer">Computer</string>
<string name="gamepad">Gamepad</string>

<string name="camera">Camera</string>
<string name="video">Video</string>

<string name="email">EMail</string>

</resources>


6. res/menu/items.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/phone"
android:title="@string/phone"
android:icon="@drawable/phone"
android:showAsAction="ifRoom|withText"
/>

<item
android:id="@+id/computer"
android:title="@string/computer"
android:icon="@drawable/computer"
android:showAsAction="ifRoom|withText"
/>

<item
android:id="@+id/gamepad"
android:title="@string/gamepad"
android:icon="@drawable/gamepad"
android:showAsAction="ifRoom|withText"
/>

<item
android:id="@+id/camera"
android:title="@string/camera"
android:icon="@drawable/camera"
android:showAsAction="ifRoom|withText"
/>

<item
android:id="@+id/video"
android:title="@string/video"
android:icon="@drawable/video"
android:showAsAction="ifRoom|withText"
/>

<item
android:id="@+id/email"
android:title="@string/email"
android:icon="@drawable/email"
android:showAsAction="ifRoom|withText"
/>
</menu>


7. src/in/wptrafficanalyzer/actionbarmenu/MainActivity.java

package in.wptrafficanalyzer.actionbarmenu;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.items, menu);
return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

super.onOptionsItemSelected(item);

switch(item.getItemId()){
case R.id.phone:
Toast.makeText(getBaseContext(), "You selected Phone", Toast.LENGTH_SHORT).show();
break;

case R.id.computer:
Toast.makeText(getBaseContext(), "You selected Computer", Toast.LENGTH_SHORT).show();
break;

case R.id.gamepad:
Toast.makeText(getBaseContext(), "You selected Gamepad", Toast.LENGTH_SHORT).show();
break;

case R.id.camera:
Toast.makeText(getBaseContext(), "You selected Camera", Toast.LENGTH_SHORT).show();
break;

case R.id.video:
Toast.makeText(getBaseContext(), "You selected Video", Toast.LENGTH_SHORT).show();
break;

case R.id.email:
Toast.makeText(getBaseContext(), "You selected EMail", Toast.LENGTH_SHORT).show();
break;

}
return true;

}
}

8. AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="in.wptrafficanalyzer.actionbarmenu"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="14" />

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:uiOptions="splitActionBarWhenNarrow"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>


9. Application in Execution




为了拆分操作栏,在应用的AndroidManifest.xml中的Application元素或者Activity元素中添加属性 android:uiOptions=”splitActionBarWhenNarrow”

10.下载源码

Download Full Source Code


11. 参考

http://developer.android.com/guide/index.html

译文链接:http://wptrafficanalyzer.in/blog/adding-action-items-and-overflow-menu-items-to-action-bar-in-android/


更多相关文章

  1. Android学习之Asynctask异步操作
  2. Java操作数据库之jdbc【原生方式】
  3. Android——Tomcat版本更新下载+头像照片上传到Tomcat
  4. Android复习练习十二(自定义ContentProvider实现其他应用操作本
  5. 显示操作栏和向上导航 - Android
  6. Android开发中MinSDK与TargetSDK不在同一个版本时,如何很好的兼容
  7. 使用 gradle 编译多版本 android 应用
  8. react native 0.49 android版本热更新
  9. Android低版本使用ActionBar导入v7-appcompat出现的问题

随机推荐

  1. Android : Menus Part 3: Alternative Me
  2. Android 自制一个工作日历 原代码
  3. Android = Java ?
  4. ch020 Android SQLite3(第一部分)
  5. Android(安卓)getDecorView用途——屏幕
  6. Android 屏幕适配工具类
  7. Android调用Restfull
  8. android中的dumpsys命令
  9. android中搜索关键字高亮
  10. android之shape使用