summaryrefslogtreecommitdiffstats
path: root/samples/Support7Demos/src/com/example/android/supportv7/app/ActionBarWithDrawerLayout.java
diff options
context:
space:
mode:
Diffstat (limited to 'samples/Support7Demos/src/com/example/android/supportv7/app/ActionBarWithDrawerLayout.java')
-rw-r--r--samples/Support7Demos/src/com/example/android/supportv7/app/ActionBarWithDrawerLayout.java191
1 files changed, 0 insertions, 191 deletions
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;
- }
- }
-}