am 04c8633d: Update Support7Demos for action bar compat API changes.

* commit '04c8633deeb6eaa3f699f97d4a4e59e596e83ff0':
  Update Support7Demos for action bar compat API changes.
This commit is contained in:
Adam Powell
2013-04-30 14:04:11 -07:00
committed by Android Git Automerger
9 changed files with 64 additions and 78 deletions

View File

@@ -23,14 +23,12 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:textAppearance="?android:attr/textAppearanceMedium" android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/action_bar_fragment_menu_msg" /> android:text="@string/action_bar_fragment_menu_msg" />
<CheckBox android:id="@+id/menu1" <CheckBox android:id="@+id/menu1"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:checked="true" android:checked="true"
android:text="@string/action_bar_fragment_menu1"> android:text="@string/action_bar_fragment_menu1">
</CheckBox> </CheckBox>
@@ -38,7 +36,6 @@
<CheckBox android:id="@+id/menu2" <CheckBox android:id="@+id/menu2"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:checked="true" android:checked="true"
android:text="@string/action_bar_fragment_menu2"> android:text="@string/action_bar_fragment_menu2">
</CheckBox> </CheckBox>
@@ -46,7 +43,6 @@
<CheckBox android:id="@+id/menu3" <CheckBox android:id="@+id/menu3"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:checked="true" android:checked="true"
android:text="@string/action_bar_fragment_menu3"> android:text="@string/action_bar_fragment_menu3">
</CheckBox> </CheckBox>
@@ -54,7 +50,6 @@
<CheckBox android:id="@+id/has_options_menu" <CheckBox android:id="@+id/has_options_menu"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:checked="true" android:checked="true"
android:text="@string/action_bar_fragment_has_options_menu"> android:text="@string/action_bar_fragment_has_options_menu">
</CheckBox> </CheckBox>
@@ -62,7 +57,6 @@
<CheckBox android:id="@+id/menu_visibility" <CheckBox android:id="@+id/menu_visibility"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:checked="true" android:checked="true"
android:text="@string/action_bar_fragment_menu_visibility"> android:text="@string/action_bar_fragment_menu_visibility">
</CheckBox> </CheckBox>

View File

@@ -20,8 +20,8 @@
android:layout_gravity="center" android:layout_gravity="center"
android:focusable="true" android:focusable="true"
android:addStatesFromChildren="true" android:addStatesFromChildren="true"
android:background="?android:attr/actionBarItemBackground" android:background="?attr/actionBarItemBackground"
style="?android:attr/actionButtonStyle"> style="?attr/actionButtonStyle">
<ImageButton android:id="@+id/button" <ImageButton android:id="@+id/button"
android:background="@drawable/ic_launcher_settings" android:background="@drawable/ic_launcher_settings"

View File

@@ -16,5 +16,6 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/simple_item" <item android:id="@+id/simple_item"
android:title="@string/display_options_menu_item" /> android:title="@string/display_options_menu_item"
app:showAsAction="ifRoom" />
</menu> </menu>

View File

@@ -15,17 +15,17 @@
*/ */
package com.example.android.supportv7.app; package com.example.android.supportv7.app;
import com.example.android.supportv7.R;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.FragmentTransaction; import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.ActionBar; import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBar.Tab; import android.support.v7.app.ActionBar.Tab;
import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBarActivity;
import android.support.v7.view.Menu;
import android.view.Gravity; import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.view.ViewGroup.LayoutParams; import android.view.ViewGroup.LayoutParams;
import com.example.android.supportv7.R;
/** /**
* This demo shows how various action bar display option flags can be combined and their effects. * This demo shows how various action bar display option flags can be combined and their effects.
@@ -63,11 +63,17 @@ public class ActionBarDisplayOptions extends ActionBarActivity
} }
@Override @Override
public boolean onCreateSupportOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.display_options_actions, menu); getSupportMenuInflater().inflate(R.menu.display_options_actions, menu);
return true; return true;
} }
@Override
public boolean onSupportNavigateUp() {
finish();
return true;
}
@Override @Override
public void onClick(View v) { public void onClick(View v) {
final ActionBar bar = getSupportActionBar(); final ActionBar bar = getSupportActionBar();

View File

@@ -16,6 +16,9 @@
package com.example.android.supportv7.app; package com.example.android.supportv7.app;
import android.support.v4.view.MenuItemCompat;
import android.view.Menu;
import android.view.MenuItem;
import com.example.android.supportv7.R; import com.example.android.supportv7.R;
import android.os.Bundle; import android.os.Bundle;
@@ -23,11 +26,7 @@ import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction; import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBarFragment; import android.view.MenuInflater;
import android.support.v7.app.ActionBarFragmentCallbacks;
import android.support.v7.view.Menu;
import android.support.v7.view.MenuInflater;
import android.support.v7.view.MenuItem;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.widget.CheckBox; import android.widget.CheckBox;
@@ -128,7 +127,7 @@ public class ActionBarFragmentMenu extends ActionBarActivity {
* have a UI (it does not implement onCreateView), but it could also * have a UI (it does not implement onCreateView), but it could also
* have one if it wanted. * have one if it wanted.
*/ */
public static class MenuFragment extends ActionBarFragment { public static class MenuFragment extends Fragment {
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@@ -136,14 +135,14 @@ public class ActionBarFragmentMenu extends ActionBarActivity {
} }
@Override @Override
public void onCreateSupportOptionsMenu(Menu menu, MenuInflater inflater) { public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.add("Menu 1a").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); MenuItemCompat.setShowAsAction(menu.add("Menu 1a"), MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add("Menu 1b").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); MenuItemCompat.setShowAsAction(menu.add("Menu 1b"), MenuItem.SHOW_AS_ACTION_IF_ROOM);
super.onCreateSupportOptionsMenu(menu, inflater); super.onCreateOptionsMenu(menu, inflater);
} }
@Override @Override
public boolean onSupportOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
if (item.getTitle().equals("Menu 1a")) { if (item.getTitle().equals("Menu 1a")) {
Toast.makeText(getActivity(), "Selected Menu 1a.", Toast.LENGTH_SHORT).show(); Toast.makeText(getActivity(), "Selected Menu 1a.", Toast.LENGTH_SHORT).show();
return true; return true;
@@ -152,17 +151,14 @@ public class ActionBarFragmentMenu extends ActionBarActivity {
Toast.makeText(getActivity(), "Selected Menu 1b.", Toast.LENGTH_SHORT).show(); Toast.makeText(getActivity(), "Selected Menu 1b.", Toast.LENGTH_SHORT).show();
return true; return true;
} }
return super.onSupportOptionsItemSelected(item); return super.onOptionsItemSelected(item);
} }
} }
/** /**
* Second fragment with a menu. * Second fragment with a menu.
* This one demonstrates that you can extend any other fragment as long
* as you implement the callback interface.
*/ */
public static class Menu2Fragment extends Fragment public static class Menu2Fragment extends Fragment {
implements ActionBarFragmentCallbacks {
Menu3Fragment mFragment3; Menu3Fragment mFragment3;
@Override @Override
@@ -181,20 +177,12 @@ public class ActionBarFragmentMenu extends ActionBarActivity {
} }
@Override @Override
public void onCreateSupportOptionsMenu(Menu menu, MenuInflater inflater) { public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.add("Menu 2").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); MenuItemCompat.setShowAsAction(menu.add("Menu 2"), MenuItem.SHOW_AS_ACTION_IF_ROOM);
} }
@Override @Override
public void onDestroySupportOptionsMenu() { public boolean onOptionsItemSelected(MenuItem item) {
}
@Override
public void onPrepareSupportOptionsMenu(Menu menu) {
}
@Override
public boolean onSupportOptionsItemSelected(MenuItem item) {
if (item.getTitle().equals("Menu 2")) { if (item.getTitle().equals("Menu 2")) {
Toast.makeText(getActivity(), "Selected Menu 2.", Toast.LENGTH_SHORT).show(); Toast.makeText(getActivity(), "Selected Menu 2.", Toast.LENGTH_SHORT).show();
return true; return true;
@@ -207,7 +195,7 @@ public class ActionBarFragmentMenu extends ActionBarActivity {
* Third fragment with a menu. * Third fragment with a menu.
* This one is nested within the second. * This one is nested within the second.
*/ */
public static class Menu3Fragment extends ActionBarFragment { public static class Menu3Fragment extends Fragment {
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@@ -215,35 +203,35 @@ public class ActionBarFragmentMenu extends ActionBarActivity {
} }
@Override @Override
public void onCreateSupportOptionsMenu(Menu menu, MenuInflater inflater) { public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
Toast.makeText(getActivity(), "Created nested fragment's menu.", Toast.makeText(getActivity(), "Created nested fragment's menu.",
Toast.LENGTH_SHORT).show(); Toast.LENGTH_SHORT).show();
inflater.inflate(R.menu.display_options_actions, menu); inflater.inflate(R.menu.display_options_actions, menu);
super.onCreateSupportOptionsMenu(menu, inflater); super.onCreateOptionsMenu(menu, inflater);
} }
@Override @Override
public void onDestroySupportOptionsMenu() { public void onDestroyOptionsMenu() {
Toast.makeText(getActivity(), "Destroyed nested fragment's menu.", Toast.makeText(getActivity(), "Destroyed nested fragment's menu.",
Toast.LENGTH_SHORT).show(); Toast.LENGTH_SHORT).show();
super.onDestroySupportOptionsMenu(); super.onDestroyOptionsMenu();
} }
@Override @Override
public void onPrepareSupportOptionsMenu(Menu menu) { public void onPrepareOptionsMenu(Menu menu) {
Toast.makeText(getActivity(), "Prepared nested fragment's menu.", Toast.makeText(getActivity(), "Prepared nested fragment's menu.",
Toast.LENGTH_SHORT).show(); Toast.LENGTH_SHORT).show();
super.onPrepareSupportOptionsMenu(menu); super.onPrepareOptionsMenu(menu);
} }
@Override @Override
public boolean onSupportOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.simple_item) { if (item.getItemId() == R.id.simple_item) {
Toast.makeText(getActivity(), "Selected nested fragment's menu item.", Toast.makeText(getActivity(), "Selected nested fragment's menu item.",
Toast.LENGTH_SHORT).show(); Toast.LENGTH_SHORT).show();
return true; return true;
} }
return super.onSupportOptionsItemSelected(item); return super.onOptionsItemSelected(item);
} }
} }
} }

View File

@@ -16,10 +16,11 @@
package com.example.android.supportv7.app; package com.example.android.supportv7.app;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.view.MenuItemCompat;
import android.support.v4.view.WindowCompat; import android.support.v4.view.WindowCompat;
import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBarActivity;
import android.support.v7.view.Menu; import android.view.Menu;
import android.support.v7.view.MenuItem; import android.view.MenuItem;
import android.widget.Toast; import android.widget.Toast;
/** /**
@@ -43,7 +44,7 @@ public class ActionBarMechanics extends ActionBarActivity {
} }
@Override @Override
public boolean onCreateSupportOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) {
// Menu items default to never show in the action bar. On most devices this means // Menu items default to never show in the action bar. On most devices this means
// they will show in the standard options menu panel when the menu button is pressed. // they will show in the standard options menu panel when the menu button is pressed.
// On xlarge-screen devices a "More" button will appear in the far right of the // On xlarge-screen devices a "More" button will appear in the far right of the
@@ -55,7 +56,7 @@ public class ActionBarMechanics extends ActionBarActivity {
// Items that show as actions should favor the "if room" setting, which will // Items that show as actions should favor the "if room" setting, which will
// prevent too many buttons from crowding the bar. Extra items will show in the // prevent too many buttons from crowding the bar. Extra items will show in the
// overflow area. // overflow area.
actionItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); MenuItemCompat.setShowAsAction(actionItem, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
// Items that show as actions are strongly encouraged to use an icon. // Items that show as actions are strongly encouraged to use an icon.
// These icons are shown without a text description, and therefore should // These icons are shown without a text description, and therefore should
@@ -65,7 +66,7 @@ public class ActionBarMechanics extends ActionBarActivity {
} }
@Override @Override
public boolean onSupportOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
Toast.makeText(this, "Selected Item: " + item.getTitle(), Toast.LENGTH_SHORT).show(); Toast.makeText(this, "Selected Item: " + item.getTitle(), Toast.LENGTH_SHORT).show();
return true; return true;
} }

View File

@@ -16,19 +16,18 @@
package com.example.android.supportv7.app; package com.example.android.supportv7.app;
import com.example.android.supportv7.R;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.provider.Settings; import android.provider.Settings;
import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBarActivity;
import android.support.v7.view.ActionProvider; import android.support.v4.view.ActionProvider;
import android.support.v7.view.Menu;
import android.support.v7.view.MenuItem;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.Toast; import android.widget.Toast;
import com.example.android.supportv7.R;
/** /**
* This activity demonstrates how to implement an {@link android.view.ActionProvider} * This activity demonstrates how to implement an {@link android.view.ActionProvider}
@@ -38,14 +37,14 @@ import android.widget.Toast;
*/ */
public class ActionBarSettingsActionProviderActivity extends ActionBarActivity { public class ActionBarSettingsActionProviderActivity extends ActionBarActivity {
@Override @Override
public boolean onCreateSupportOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateSupportOptionsMenu(menu); super.onCreateOptionsMenu(menu);
getSupportMenuInflater().inflate(R.menu.action_bar_settings_action_provider, menu); getSupportMenuInflater().inflate(R.menu.action_bar_settings_action_provider, menu);
return true; return true;
} }
@Override @Override
public boolean onSupportOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
// If this callback does not handle the item click, onPerformDefaultAction // If this callback does not handle the item click, onPerformDefaultAction
// of the ActionProvider is invoked. Hence, the provider encapsulates the // of the ActionProvider is invoked. Hence, the provider encapsulates the
// complete functionality of the menu item. // complete functionality of the menu item.

View File

@@ -15,19 +15,18 @@
*/ */
package com.example.android.supportv7.app; package com.example.android.supportv7.app;
import com.example.android.supportv7.R; import android.os.Bundle;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction; import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar; import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBar.Tab; import android.support.v7.app.ActionBar.Tab;
import android.os.Bundle; import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import com.example.android.supportv7.R;
/** /**
* This demonstrates the use of action bar tabs and how they interact * This demonstrates the use of action bar tabs and how they interact

View File

@@ -15,20 +15,18 @@
*/ */
package com.example.android.supportv7.app; package com.example.android.supportv7.app;
import com.example.android.supportv7.R;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.view.MenuItemCompat;
import android.support.v4.widget.SearchViewCompat; import android.support.v4.widget.SearchViewCompat;
import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBarActivity;
import android.support.v7.view.Menu; import android.view.Menu;
import android.support.v7.view.MenuInflater; import android.view.MenuInflater;
import android.support.v7.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.widget.SearchView;
import android.widget.SearchView.OnQueryTextListener;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import com.example.android.supportv7.R;
/** /**
* This demonstrates idiomatic usage of the Action Bar. The default Honeycomb theme * This demonstrates idiomatic usage of the Action Bar. The default Honeycomb theme
@@ -48,25 +46,25 @@ public class ActionBarUsage extends ActionBarActivity {
} }
@Override @Override
public boolean onCreateSupportOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater(); MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.actions, menu); inflater.inflate(R.menu.actions, menu);
View searchView = menu.findItem(R.id.action_search).getActionView(); View searchView = MenuItemCompat.getActionView(menu.findItem(R.id.action_search));
SearchViewCompat.setOnQueryTextListener(searchView, mOnQueryTextListener); SearchViewCompat.setOnQueryTextListener(searchView, mOnQueryTextListener);
return true; return true;
} }
@Override @Override
public boolean onPrepareSupportOptionsMenu(Menu menu) { public boolean onPrepareOptionsMenu(Menu menu) {
if (mSortMode != -1) { if (mSortMode != -1) {
Drawable icon = menu.findItem(mSortMode).getIcon(); Drawable icon = menu.findItem(mSortMode).getIcon();
menu.findItem(R.id.action_sort).setIcon(icon); menu.findItem(R.id.action_sort).setIcon(icon);
} }
return super.onPrepareSupportOptionsMenu(menu); return super.onPrepareOptionsMenu(menu);
} }
@Override @Override
public boolean onSupportOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
Toast.makeText(this, "Selected Item: " + item.getTitle(), Toast.LENGTH_SHORT).show(); Toast.makeText(this, "Selected Item: " + item.getTitle(), Toast.LENGTH_SHORT).show();
return true; return true;
} }