summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKirill Grouchnikov <kirillg@google.com>2015-11-02 13:01:41 -0500
committerKirill Grouchnikov <kirillg@google.com>2015-11-02 13:01:41 -0500
commitd0b4919441c4fcde0a7b00c3162f46f0003fa251 (patch)
tree6a454f009065160514d61efb00ba974e85ddb9c0
parent220a8ecaa3d9d2380eddaf2a47fc428253510ffd (diff)
downloadandroid_development-d0b4919441c4fcde0a7b00c3162f46f0003fa251.tar.gz
android_development-d0b4919441c4fcde0a7b00c3162f46f0003fa251.tar.bz2
android_development-d0b4919441c4fcde0a7b00c3162f46f0003fa251.zip
Remove pre-Material drawer demo apps.
Bug: 25321348 Change-Id: I53859ee48b3821192344e70f54a7f4fc20f8d4e7
-rw-r--r--samples/Support4Demos/AndroidManifest.xml8
-rw-r--r--samples/Support4Demos/res/drawable-hdpi/drawer_shadow.9.pngbin171 -> 0 bytes
-rw-r--r--samples/Support4Demos/res/drawable-mdpi/drawer_shadow.9.pngbin158 -> 0 bytes
-rw-r--r--samples/Support4Demos/res/drawable-xhdpi/drawer_shadow.9.pngbin182 -> 0 bytes
-rw-r--r--samples/Support4Demos/res/layout/drawer_layout.xml52
-rw-r--r--samples/Support4Demos/res/values/strings.xml13
-rw-r--r--samples/Support4Demos/src/com/example/android/supportv4/widget/DrawerLayoutActivity.java249
-rw-r--r--samples/Support7Demos/AndroidManifest.xml10
-rw-r--r--samples/Support7Demos/res/layout/action_bar_drawer_layout.xml50
-rw-r--r--samples/Support7Demos/res/values/strings.xml18
-rw-r--r--samples/Support7Demos/src/com/example/android/supportv7/app/ActionBarWithDrawerLayout.java191
11 files changed, 0 insertions, 591 deletions
diff --git a/samples/Support4Demos/AndroidManifest.xml b/samples/Support4Demos/AndroidManifest.xml
index 9d4f69d79..f1899ad4e 100644
--- a/samples/Support4Demos/AndroidManifest.xml
+++ b/samples/Support4Demos/AndroidManifest.xml
@@ -297,14 +297,6 @@
</intent-filter>
</activity>
- <activity android:name=".widget.DrawerLayoutActivity"
- android:label="@string/drawer_layout_support">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="com.example.android.supportv4.SUPPORT4_SAMPLE_CODE" />
- </intent-filter>
- </activity>
-
<activity android:name=".widget.SwipeRefreshLayoutActivity"
android:label="@string/swipe"
android:theme="@style/ThemeHoloLight">
diff --git a/samples/Support4Demos/res/drawable-hdpi/drawer_shadow.9.png b/samples/Support4Demos/res/drawable-hdpi/drawer_shadow.9.png
deleted file mode 100644
index 224cc4ff4..000000000
--- a/samples/Support4Demos/res/drawable-hdpi/drawer_shadow.9.png
+++ /dev/null
Binary files differ
diff --git a/samples/Support4Demos/res/drawable-mdpi/drawer_shadow.9.png b/samples/Support4Demos/res/drawable-mdpi/drawer_shadow.9.png
deleted file mode 100644
index 3797f99c0..000000000
--- a/samples/Support4Demos/res/drawable-mdpi/drawer_shadow.9.png
+++ /dev/null
Binary files differ
diff --git a/samples/Support4Demos/res/drawable-xhdpi/drawer_shadow.9.png b/samples/Support4Demos/res/drawable-xhdpi/drawer_shadow.9.png
deleted file mode 100644
index fa3d853e9..000000000
--- a/samples/Support4Demos/res/drawable-xhdpi/drawer_shadow.9.png
+++ /dev/null
Binary files differ
diff --git a/samples/Support4Demos/res/layout/drawer_layout.xml b/samples/Support4Demos/res/layout/drawer_layout.xml
deleted file mode 100644
index 496bd88d5..000000000
--- a/samples/Support4Demos/res/layout/drawer_layout.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2013 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!--
- A DrawerLayout is indended to be used as the top-level content view
- using match_parent for both width and height to consume the full space available.
--->
-<android.support.v4.widget.DrawerLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/drawer_layout"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <!-- As the main content view, the view below consumes the entire
- space available using match_parent in both dimensions. Note that
- this child does not specify android:layout_gravity attribute. -->
- <ScrollView
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingLeft="16dp"
- android:paddingRight="16dp"
- android:scrollbarStyle="outsideOverlay">
- <TextView android:id="@+id/content_text"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:text="@string/drawer_layout_summary"
- android:textAppearance="?android:attr/textAppearanceMedium"/>
- </ScrollView>
- <!-- android:layout_gravity="start" tells DrawerLayout to treat
- this as a sliding drawer on the starting side, which is
- left for left-to-right locales. The drawer is given a fixed
- width in dp and extends the full height of the container. A
- solid background is used for contrast with the content view. -->
- <ListView android:id="@+id/start_drawer"
- android:layout_width="300dp"
- android:layout_height="match_parent"
- android:layout_gravity="start"
- android:background="#ff333333"/>
-</android.support.v4.widget.DrawerLayout>
-
diff --git a/samples/Support4Demos/res/values/strings.xml b/samples/Support4Demos/res/values/strings.xml
index 8917c667d..1945a1819 100644
--- a/samples/Support4Demos/res/values/strings.xml
+++ b/samples/Support4Demos/res/values/strings.xml
@@ -156,19 +156,6 @@
<string name="sample_transport_controller_activity">Media/TransportController</string>
- <string name="drawer_layout_support">Widget/Drawer layout</string>
-
- <string name="drawer_layout_summary">This activity illustrates the use of sliding drawers. The drawer may be pulled out from the starting edge, which is left on left-to-right locales, with an edge swipe. If this demo is running on Ice Cream Sandwich or newer you may tap the icon at the starting side of the action bar to open the drawer as well.</string>
-
- <!-- Title of the navigation drawer, used by accessibility to announce state changes. -->
- <string name="drawer_title">Navigation</string>
-
- <!-- Description of the icon that opens the navigation drawer, used by accessibility. -->
- <string name="drawer_open">Open navigation drawer</string>
-
- <!-- Description of the icon that closes the navigation drawer, used by accessibility. -->
- <string name="drawer_close">Close navigation drawer</string>
-
<string name="sliding_pane_layout_support">Widget/Sliding pane layout</string>
<string name="sliding_pane_layout_summary">This activity illustrates the use of sliding panes. The content pane may be slid to one side on narrow devices to reveal the left pane used to select content. Sliding panes can be used to fit a UI intended for wider screens in a smaller space. Tapping the Action Bar\'s Up button at the left side of the bar will navigate up in the hierarchy, represented by the left pane. If you rotate the device to landscape mode, on most devices you will see that both panes fit together side by side with no sliding necessary.</string>
diff --git a/samples/Support4Demos/src/com/example/android/supportv4/widget/DrawerLayoutActivity.java b/samples/Support4Demos/src/com/example/android/supportv4/widget/DrawerLayoutActivity.java
deleted file mode 100644
index b8735b4bf..000000000
--- a/samples/Support4Demos/src/com/example/android/supportv4/widget/DrawerLayoutActivity.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package com.example.android.supportv4.widget;
-
-import android.app.ActionBar;
-import android.app.Activity;
-import android.content.res.Configuration;
-import android.os.Build;
-import android.os.Bundle;
-import android.support.v4.app.ActionBarDrawerToggle;
-import android.support.v4.view.GravityCompat;
-import android.support.v4.widget.DrawerLayout;
-import android.view.Gravity;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.ListView;
-import android.widget.TextView;
-import com.example.android.supportv4.R;
-import com.example.android.supportv4.Shakespeare;
-
-/**
- * This example illustrates a common usage of the DrawerLayout widget
- * in the Android support library.
- *
- * <p>A DrawerLayout should be positioned at the top of your view hierarchy, placing it
- * below the action bar but above your content views. The primary content should match_parent
- * in both dimensions. Each drawer should define a reasonable width and match_parent for height.
- * Drawer views should be positioned after the content view in your layout to preserve proper
- * ordering.</p>
- *
- * <p>When a navigation (left) drawer is present, the host activity should detect presses of
- * the action bar's Up affordance as a signal to open and close the navigation drawer.
- * Items within the drawer should fall into one of two categories.</p>
- *
- * <ul>
- * <li><strong>View switches</strong>. A view switch follows the same basic policies as
- * list or tab navigation in that a view switch does not create navigation history.
- * This pattern should only be used at the root activity of a task, leaving some form
- * of Up navigation active for activities further down the navigation hierarchy.</li>
- * <li><strong>Selective Up</strong>. The drawer allows the user to choose an alternate
- * parent for Up navigation. This allows a user to jump across an app's navigation
- * hierarchy at will. The application should treat this as it treats Up navigation from
- * a different task, replacing the current task stack using TaskStackBuilder or similar.
- * This is the only form of navigation drawer that should be used outside of the root
- * activity of a task.</li>
- * </ul>
- *
- * <p>Right side drawers should be used for actions, not navigation. This follows the pattern
- * established by the Action Bar that navigation should be to the left and actions to the right.
- * An action should be an operation performed on the current contents of the window,
- * for example enabling or disabling a data overlay on top of the current content.</p>
- */
-public class DrawerLayoutActivity extends Activity {
- private DrawerLayout mDrawerLayout;
- private ListView mDrawer;
- private TextView mContent;
-
- private ActionBarHelper mActionBar;
-
- private ActionBarDrawerToggle mDrawerToggle;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- setContentView(R.layout.drawer_layout);
-
- mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
- mDrawer = (ListView) findViewById(R.id.start_drawer);
- mContent = (TextView) findViewById(R.id.content_text);
-
- mDrawerLayout.setDrawerListener(new DemoDrawerListener());
- mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
-
- // The drawer title must be set in order to announce state changes when
- // accessibility is turned on. This is typically a simple description,
- // e.g. "Navigation".
- mDrawerLayout.setDrawerTitle(GravityCompat.START, getString(R.string.drawer_title));
-
- mDrawer.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
- Shakespeare.TITLES));
- mDrawer.setOnItemClickListener(new DrawerItemClickListener());
-
- mActionBar = createActionBarHelper();
- mActionBar.init();
-
- // ActionBarDrawerToggle provides convenient helpers for tying together the
- // prescribed interactions between a top-level sliding drawer and the action bar.
- mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
- R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close);
- }
-
- @Override
- protected void onPostCreate(Bundle savedInstanceState) {
- super.onPostCreate(savedInstanceState);
-
- // Sync the toggle state after onRestoreInstanceState has occurred.
- mDrawerToggle.syncState();
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- /*
- * The action bar home/up action should open or close the drawer.
- * mDrawerToggle will take care of this.
- */
- if (mDrawerToggle.onOptionsItemSelected(item)) {
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
-
- @Override
- public void onConfigurationChanged(Configuration newConfig) {
- super.onConfigurationChanged(newConfig);
- mDrawerToggle.onConfigurationChanged(newConfig);
- }
-
- /**
- * This list item click listener implements very simple view switching by changing
- * the primary content text. The drawer is closed when a selection is made.
- */
- private class DrawerItemClickListener implements ListView.OnItemClickListener {
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- mContent.setText(Shakespeare.DIALOGUE[position]);
- mActionBar.setTitle(Shakespeare.TITLES[position]);
- mDrawerLayout.closeDrawer(mDrawer);
- }
- }
-
- /**
- * A drawer listener can be used to respond to drawer events such as becoming
- * fully opened or closed. You should always prefer to perform expensive operations
- * such as drastic relayout when no animation is currently in progress, either before
- * or after the drawer animates.
- *
- * When using ActionBarDrawerToggle, all DrawerLayout listener methods should be forwarded
- * if the ActionBarDrawerToggle is not used as the DrawerLayout listener directly.
- */
- private class DemoDrawerListener implements DrawerLayout.DrawerListener {
- @Override
- public void onDrawerOpened(View drawerView) {
- mDrawerToggle.onDrawerOpened(drawerView);
- mActionBar.onDrawerOpened();
- }
-
- @Override
- public void onDrawerClosed(View drawerView) {
- mDrawerToggle.onDrawerClosed(drawerView);
- mActionBar.onDrawerClosed();
- }
-
- @Override
- public void onDrawerSlide(View drawerView, float slideOffset) {
- mDrawerToggle.onDrawerSlide(drawerView, slideOffset);
- }
-
- @Override
- public void onDrawerStateChanged(int newState) {
- mDrawerToggle.onDrawerStateChanged(newState);
- }
- }
-
- /**
- * Create a compatible helper that will manipulate the action bar if available.
- */
- private ActionBarHelper createActionBarHelper() {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
- return new ActionBarHelperICS();
- } else {
- return new ActionBarHelper();
- }
- }
-
- /**
- * Stub action bar helper; this does nothing.
- */
- private class ActionBarHelper {
- public void init() {}
- public void onDrawerClosed() {}
- public void onDrawerOpened() {}
- public void setTitle(CharSequence title) {}
- }
-
- /**
- * Action bar helper for use on ICS and newer devices.
- */
- private class ActionBarHelperICS extends ActionBarHelper {
- private final ActionBar mActionBar;
- private CharSequence mDrawerTitle;
- private CharSequence mTitle;
-
- ActionBarHelperICS() {
- mActionBar = getActionBar();
- }
-
- @Override
- public void init() {
- mActionBar.setDisplayHomeAsUpEnabled(true);
- mActionBar.setHomeButtonEnabled(true);
- mTitle = mDrawerTitle = getTitle();
- }
-
- /**
- * When the drawer is closed we restore the action bar state reflecting
- * the specific contents in view.
- */
- @Override
- public void onDrawerClosed() {
- super.onDrawerClosed();
- mActionBar.setTitle(mTitle);
- }
-
- /**
- * When the drawer is open we set the action bar to a generic title.
- * The action bar should only contain data relevant at the top level of
- * the nav hierarchy represented by the drawer, as the rest of your content
- * will be dimmed down and non-interactive.
- */
- @Override
- public void onDrawerOpened() {
- super.onDrawerOpened();
- mActionBar.setTitle(mDrawerTitle);
- }
-
- @Override
- public void setTitle(CharSequence title) {
- mTitle = title;
- }
- }
-}
diff --git a/samples/Support7Demos/AndroidManifest.xml b/samples/Support7Demos/AndroidManifest.xml
index df9b2d1fc..e1a0f98ae 100644
--- a/samples/Support7Demos/AndroidManifest.xml
+++ b/samples/Support7Demos/AndroidManifest.xml
@@ -197,16 +197,6 @@
</intent-filter>
</activity>
- <activity android:name=".app.ActionBarWithDrawerLayout"
- android:label="@string/action_bar_with_navigation_drawer"
- android:theme="@style/Theme.AppCompat"
- >
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="com.example.android.supportv7.SAMPLE_CODE"/>
- </intent-filter>
- </activity>
-
<activity android:name=".app.ActionBarPreferences"
android:label="@string/action_bar_preferences"
android:theme="@style/Theme.AppCompat">
diff --git a/samples/Support7Demos/res/layout/action_bar_drawer_layout.xml b/samples/Support7Demos/res/layout/action_bar_drawer_layout.xml
deleted file mode 100644
index a68fdb40d..000000000
--- a/samples/Support7Demos/res/layout/action_bar_drawer_layout.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!--
- A DrawerLayout is indended to be used as the top-level content view
- using match_parent for both width and height to consume the full space available.
--->
-<android.support.v4.widget.DrawerLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/drawer_layout"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <!-- As the main content view, the view below consumes the entire
- space available using match_parent in both dimensions. -->
- <ScrollView
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingLeft="16dp"
- android:paddingRight="16dp"
- android:scrollbarStyle="outsideOverlay">
- <TextView android:id="@+id/content_text"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:text="@string/drawer_layout_summary"
- android:textAppearance="?android:attr/textAppearanceMedium"/>
- </ScrollView>
- <!-- android:layout_gravity="start" tells DrawerLayout to treat
- this as a sliding drawer on the starting side, which is
- left for left-to-right locales. The drawer is given a fixed
- width in dp and extends the full height of the container. A
- solid background is used for contrast with the content view. -->
- <ListView android:id="@+id/start_drawer"
- android:layout_width="300dp"
- android:layout_height="match_parent"
- android:layout_gravity="start"
- android:background="#ff333333"/>
-</android.support.v4.widget.DrawerLayout>
diff --git a/samples/Support7Demos/res/values/strings.xml b/samples/Support7Demos/res/values/strings.xml
index 45bb45900..5479a0346 100644
--- a/samples/Support7Demos/res/values/strings.xml
+++ b/samples/Support7Demos/res/values/strings.xml
@@ -104,24 +104,6 @@
<string name="action_bar_fragment_has_options_menu">Set has options menu to true</string>
<string name="action_bar_fragment_menu_visibility">Set menu visibility to true</string>
- <!-- actionbar w/ drawer layout -->
- <string name="drawer_layout_support">Widget/Drawer layout</string>
-
- <string name="drawer_layout_summary">This activity illustrates the use of sliding drawers. The
- drawer may be pulled out from the starting edge, which is left on left-to-right locales,
- with an edge swipe. If this demo is running on Ice Cream Sandwich or newer you may tap the
- icon at the starting side of the action bar to open the drawer as well.
- </string>
-
- <!-- Title of the navigation drawer, used by accessibility to announce state changes. -->
- <string name="drawer_title">Navigation</string>
-
- <!-- Description of the icon that opens the navigation drawer, used by accessibility. -->
- <string name="drawer_open">Open navigation drawer</string>
-
- <!-- Description of the icon that closes the navigation drawer, used by accessibility. -->
- <string name="drawer_close">Close navigation drawer</string>
-
<string name="sliding_pane_layout_support">Widget/Sliding pane layout</string>
<string name="sliding_pane_layout_summary">This activity illustrates the use of sliding panes.
diff --git a/samples/Support7Demos/src/com/example/android/supportv7/app/ActionBarWithDrawerLayout.java b/samples/Support7Demos/src/com/example/android/supportv7/app/ActionBarWithDrawerLayout.java
deleted file mode 100644
index a45edc986..000000000
--- a/samples/Support7Demos/src/com/example/android/supportv7/app/ActionBarWithDrawerLayout.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.example.android.supportv7.app;
-
-import com.example.android.supportv7.R;
-import com.example.android.supportv7.Shakespeare;
-
-import android.content.res.Configuration;
-import android.os.Bundle;
-import android.support.v4.view.GravityCompat;
-import android.support.v4.widget.DrawerLayout;
-import android.support.v7.app.ActionBar;
-import android.support.v7.app.ActionBarDrawerToggle;
-import android.support.v7.app.AppCompatActivity;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.ListView;
-import android.widget.TextView;
-
-public class ActionBarWithDrawerLayout extends AppCompatActivity {
- private DrawerLayout mDrawerLayout;
- private ListView mDrawer;
- private TextView mContent;
-
- private ActionBarHelper mActionBar;
-
- private ActionBarDrawerToggle mDrawerToggle;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.action_bar_drawer_layout);
- mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
- mDrawer = (ListView) findViewById(R.id.start_drawer);
- mContent = (TextView) findViewById(R.id.content_text);
-
- mDrawerLayout.setDrawerListener(new DemoDrawerListener());
-
- // The drawer title must be set in order to announce state changes when
- // accessibility is turned on. This is typically a simple description,
- // e.g. "Navigation".
- mDrawerLayout.setDrawerTitle(GravityCompat.START, getString(R.string.drawer_title));
-
- mDrawer.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
- Shakespeare.TITLES));
- mDrawer.setOnItemClickListener(new DrawerItemClickListener());
-
- mActionBar = createActionBarHelper();
- mActionBar.init();
-
- // ActionBarDrawerToggle provides convenient helpers for tying together the
- // prescribed interactions between a top-level sliding drawer and the action bar.
- mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
- R.string.drawer_open, R.string.drawer_close);
- }
-
- @Override
- protected void onPostCreate(Bundle savedInstanceState) {
- super.onPostCreate(savedInstanceState);
-
- // Sync the toggle state after onRestoreInstanceState has occurred.
- mDrawerToggle.syncState();
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- /*
- * The action bar home/up action should open or close the drawer.
- * mDrawerToggle will take care of this.
- */
- if (mDrawerToggle.onOptionsItemSelected(item)) {
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
-
- @Override
- public void onConfigurationChanged(Configuration newConfig) {
- super.onConfigurationChanged(newConfig);
- mDrawerToggle.onConfigurationChanged(newConfig);
- }
-
- /**
- * This list item click listener implements very simple view switching by changing
- * the primary content text. The drawer is closed when a selection is made.
- */
- private class DrawerItemClickListener implements ListView.OnItemClickListener {
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- mContent.setText(Shakespeare.DIALOGUE[position]);
- mActionBar.setTitle(Shakespeare.TITLES[position]);
- mDrawerLayout.closeDrawer(mDrawer);
- }
- }
-
- /**
- * A drawer listener can be used to respond to drawer events such as becoming
- * fully opened or closed. You should always prefer to perform expensive operations
- * such as drastic relayout when no animation is currently in progress, either before
- * or after the drawer animates.
- *
- * When using ActionBarDrawerToggle, all DrawerLayout listener methods should be forwarded
- * if the ActionBarDrawerToggle is not used as the DrawerLayout listener directly.
- */
- private class DemoDrawerListener implements DrawerLayout.DrawerListener {
- @Override
- public void onDrawerOpened(View drawerView) {
- mDrawerToggle.onDrawerOpened(drawerView);
- mActionBar.onDrawerOpened();
- }
-
- @Override
- public void onDrawerClosed(View drawerView) {
- mDrawerToggle.onDrawerClosed(drawerView);
- mActionBar.onDrawerClosed();
- }
-
- @Override
- public void onDrawerSlide(View drawerView, float slideOffset) {
- mDrawerToggle.onDrawerSlide(drawerView, slideOffset);
- }
-
- @Override
- public void onDrawerStateChanged(int newState) {
- mDrawerToggle.onDrawerStateChanged(newState);
- }
- }
-
- /**
- * Create a compatible helper that will manipulate the action bar if available.
- */
- private ActionBarHelper createActionBarHelper() {
- return new ActionBarHelper();
- }
-
- /**
- * Action bar helper for use on ICS and newer devices.
- */
- private class ActionBarHelper {
- private final ActionBar mActionBar;
- private CharSequence mDrawerTitle;
- private CharSequence mTitle;
-
- ActionBarHelper() {
- mActionBar = getSupportActionBar();
- }
-
- public void init() {
- mActionBar.setDisplayHomeAsUpEnabled(true);
- mActionBar.setDisplayShowHomeEnabled(false);
- mTitle = mDrawerTitle = getTitle();
- }
-
- /**
- * When the drawer is closed we restore the action bar state reflecting
- * the specific contents in view.
- */
- public void onDrawerClosed() {
- mActionBar.setTitle(mTitle);
- }
-
- /**
- * When the drawer is open we set the action bar to a generic title.
- * The action bar should only contain data relevant at the top level of
- * the nav hierarchy represented by the drawer, as the rest of your content
- * will be dimmed down and non-interactive.
- */
- public void onDrawerOpened() {
- mActionBar.setTitle(mDrawerTitle);
- }
-
- public void setTitle(CharSequence title) {
- mTitle = title;
- }
- }
-}