Action Bar


一:关于Action Bar的基本操作

1: 在项目的 res/menu  目录中新增一个 XML 文件来为 action bar 添加操作。为想要添加到 action bar 中的每个条目添加一个  元素
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    
    <item android:id="@+id/action_search"
          android:icon="@drawable/ic_action_search"
          android:title="@string/action_search"
          android:showAsAction="ifRoom" />
    
    <item android:id="@+id/action_settings"
          android:title="@string/action_settings"
          android:showAsAction="never" />
menu>
2:重写Activity的 onCreateOptionsMenu(),调用 MenuInflater inflater = getMenuInflater();得到布局渲染器,把item加载到ActionBar上。
public boolean onCreateOptionsMenu(Menu menu) {
    // 为ActionBar扩展菜单项
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_activity_actions, menu);
    return super.onCreateOptionsMenu(menu);
}
3:重写Activity的 onOptionsItemSelected()方法实现item的点击响应。
public boolean onOptionsItemSelected(MenuItem item) {
    // 处理动作按钮的点击事件
    switch (item.getItemId()) {
        case R.id.action_search:
            openSearch();
            return true;
        case R.id.action_settings:
            openSettings();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
二:

为下级 Activity 添加向上按钮

1: 需要在 manifest 文件中声明父 activity 
android:parentActivityName="com.example.myfirstapp.MainActivity"
2: 通过调用 setDisplayHomeAsUpEnabled()  来把 app icon 设置成可用的向上按钮:
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_displaymessage);

    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    // 如果你的minSdkVersion属性是11活更高, 应该这么用:
    // getActionBar().setDisplayHomeAsUpEnabled(true);
}


 
  

你可能感兴趣的:(Action,Bar)