1、创键菜单方法,重写函数public boolean onCreateOptionsMenu(Menu menu);
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.content_actions, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setOnQueryTextListener(this);
// Set file with share history to the provider and set the share intent.
MenuItem actionItem = menu.findItem(R.id.menu_item_share_action_provider_action_bar);
ShareActionProvider actionProvider = (ShareActionProvider) actionItem.getActionProvider();
actionProvider.setShareHistoryFileName(ShareActionProvider.DEFAULT_SHARE_HISTORY_FILE_NAME);
// Note that you can set/change the intent any time,
// say when the user has selected an image.
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/*");
Uri uri = Uri.fromFile(getFileStreamPath("shared.png"));
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
actionProvider.setShareIntent(shareIntent);
return true;
}
2、处理菜单点击事件,重写方法 public boolean onOptionsItemSelected(MenuItem item);
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.show_tabs:
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
item.setChecked(true);
return true;
case R.id.hide_tabs:
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
item.setChecked(true);
return true;
}
return false;
}
3、在app对应的Manifest.xml文件中,给activity添加属性:android:uiOptions="splitActionBarWhenNarrow" 就可以使menu在UI界面底部显示,与ActionBar分离。
<activity
android:name="com.example.systemuimodesset.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>
4、ActionBar 显示与隐藏方法。
<strong> if (isChecked) {
getActionBar().hide();
} else {
getActionBar().show();
}</strong>
<strong>5、修改actionbar背景方法
</strong><pre name="code" class="java"><strong> <style name="MainActivityTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MainActivityActionBar</item>
</style>
<style name="MainActivityActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">@drawable/actionbar_bg</item>
</style></strong>
6、修改actionbar背景的图标和标题文字, 在AndroidManifest.xml对应的Activity里添加对应对应属性字段即可,如下
<activity
android:name="com.example.systemuimodesset.MainActivity"
android:label="@string/custom_actionbar_time"
android:logo="@drawable/customer_action_bar"
android:uiOptions="splitActionBarWhenNarrow"
android:theme="@style/MainActivityTheme">
7、actionbar默认是显示在顶部的,当在AndroidManifest.xml对应的Activity里添加属性android:uiOptions="splitActionBarWhenNarrow"时,可以让七显示在
底部。