例子见资源(不需要资源积分)
主要内容:
使用action bar的menu
Navigating Up with the App Icon
使用action bar的menu
效果:
实现:
-
在menu资源中创建一个xml,添加action buttons到action bar中
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" > <item android:id="@+id/search" android:title="@string/search" android:icon="@drawable/ic_action_search" android:showAsAction="ifRoom"/> <item android:id="@+id/share" android:icon="@drawable/ic_action_share" android:title="@string/share" android:showAsAction="never"/> </menu>
-
Activity的onCreateOptionsMenu()使用创建的xml。
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.action_button, menu);
return super.onCreateOptionsMenu(menu);
}
-
响应action buttons
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.search:
/*点击 seace action button时做相应处理的代码*/
return true;
case R.id.share:
/*点击 share action button时做相应处理的代码*/
return true;
default:
return onOptionsItemSelected(item);
}
}
注意:
使用action bar要包含Theme.Holo相关的theme。
上面代码要求android:minSdkVersion不小于11,为了支持低版本的设备,可以参阅“官方资料链接”的内容。
Navigating Up with the App Icon
效果:
当按下标题栏中的“<” 就会回到原来的页面
实现:
-
在AndroidManifest.xml中设置logical parent
<!--从android4.1开始你可以通过android:parentActivityName属性来指定每个activity的 logical parent 在4.1以下版本,使用 <meta-data/>标签来指定,如下: --> <activity android:name="com.actionbar.addactionbuttons_android11.NavigateUpActivity" android:label="@string/title_activity_navigate_up" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.actionbar.addactionbuttons_android11.ActionButtonActivity" /> </activity>
-
调用setDisplayHomeAsUpEnabled()来开启up button
public class NavigateUpActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_navigate_up);
//To allow Up navigation with the app icon in the action bar
getActionBar().setDisplayHomeAsUpEnabled(true);
}
-
在Activity的onOptionsItemSelected()方法中设置taction bar’s Up button响应
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case android.R.id.home:
//Respond to the action bar's Up/Home button
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
本文介绍了如何在Android应用中使用Action Bar创建菜单,包括如何在菜单中添加按钮并响应用户操作,以及如何利用App图标进行向上导航。文章详细解释了在AndroidManifest.xml中设置逻辑父活动以实现向上导航,并提供了在Activity中处理向上按钮响应的方法。
1788

被折叠的 条评论
为什么被折叠?



