Last active
August 29, 2015 14:26
-
-
Save basilbeltran/6258c90dcea35daf08af to your computer and use it in GitHub Desktop.
ActionBar Options
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
extends ListFragment { | |
private boolean mSubtitleVisible; //instance vbl retained | |
onCreate... | |
setHasOptionsMenu(true); //Fragment will be implementing options menu callbacks on behalf of the activity. | |
setRetainInstance(true); //retain | |
mSubtitleVisible = false; //retain is for preserving menu state through rotation event | |
@TargetApi(11) // if ( minSdk < API < 11) !Lint; you have accounted for VERSION_CODE and under | |
onCreateView... | |
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { | |
if (mSubtitleVisible) { getActivity().getActionBar().setSubtitle(R.string.subtitle); // getActionBar appears in API 11 | |
onCreateOptionsMenu... | |
inflater.inflate(R.menu.fragment_crime_list, menu); // ..../res/menu-v11/ contains xml noted below | |
MenuItem showSubtitle = menu.findItem(R.id.menu_item_show_subtitle); | |
if (mSubtitleVisible && showSubtitle != null) { // ROTATION | |
showSubtitle.setTitle(R.string.hide_subtitle); | |
@TargetApi(11) | |
@Override | |
public boolean onOptionsItemSelected(MenuItem item) { | |
switch (item.getItemId()) { | |
case R.id.menu_item_new_crime: | |
startIntent // for a new data object maybe | |
case R.id.menu_item_show_subtitle: // dynamically change menu to "hide" or "show" submenu | |
if (getActivity().getActionBar().getSubtitle() == null) { | |
getActivity().getActionBar().setSubtitle(R.string.subtitle); | |
mSubtitleVisible = true; | |
item.setTitle(R.string.hide_subtitle); | |
} else { | |
getActivity().getActionBar().setSubtitle(null); | |
mSubtitleVisible = false; | |
item.setTitle(R.string.show_subtitle); | |
} | |
return true; | |
default: | |
return super.onOptionsItemSelected(item); | |
======================================================================================================================== | |
<?xml version="1.0" encoding="utf-8"?> | |
<menu xmlns:tools="http://schemas.android.com/tools" | |
xmlns:android="http://schemas.android.com/apk/res/android"> | |
<item android:title="@string/new_object" | |
android:id="@+id/menu_item_new_object" | |
android:icon="@android:drawable/ic_menu_add" | |
android:showAsAction="ifRoom|withText" | |
tools:ignore="AppCompatResource"/> | |
<item android:id="@+id/menu_item_show_subtitle" | |
android:title="@string/show_subtitle" | |
android:showAsAction="ifRoom" | |
tools:ignore="AppCompatResource"/> | |
</menu> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment