diff --git a/samples/Support7Demos/res/drawable-hdpi/drawer_shadow_end.9.png b/samples/Support7Demos/res/drawable-hdpi/drawer_shadow_end.9.png
new file mode 100644
index 000000000..2b79b04b3
Binary files /dev/null and b/samples/Support7Demos/res/drawable-hdpi/drawer_shadow_end.9.png differ
diff --git a/samples/Support7Demos/res/drawable-ldrtl-hdpi/drawer_shadow.9.png b/samples/Support7Demos/res/drawable-ldrtl-hdpi/drawer_shadow.9.png
new file mode 100644
index 000000000..2b79b04b3
Binary files /dev/null and b/samples/Support7Demos/res/drawable-ldrtl-hdpi/drawer_shadow.9.png differ
diff --git a/samples/Support7Demos/res/drawable-ldrtl-hdpi/drawer_shadow_end.9.png b/samples/Support7Demos/res/drawable-ldrtl-hdpi/drawer_shadow_end.9.png
new file mode 100644
index 000000000..224cc4ff4
Binary files /dev/null and b/samples/Support7Demos/res/drawable-ldrtl-hdpi/drawer_shadow_end.9.png differ
diff --git a/samples/Support7Demos/res/drawable-ldrtl-mdpi/drawer_shadow.9.png b/samples/Support7Demos/res/drawable-ldrtl-mdpi/drawer_shadow.9.png
new file mode 100644
index 000000000..b96daaeb6
Binary files /dev/null and b/samples/Support7Demos/res/drawable-ldrtl-mdpi/drawer_shadow.9.png differ
diff --git a/samples/Support7Demos/res/drawable-ldrtl-mdpi/drawer_shadow_end.9.png b/samples/Support7Demos/res/drawable-ldrtl-mdpi/drawer_shadow_end.9.png
new file mode 100644
index 000000000..3797f99c0
Binary files /dev/null and b/samples/Support7Demos/res/drawable-ldrtl-mdpi/drawer_shadow_end.9.png differ
diff --git a/samples/Support7Demos/res/drawable-ldrtl-xhdpi/drawer_shadow.9.png b/samples/Support7Demos/res/drawable-ldrtl-xhdpi/drawer_shadow.9.png
new file mode 100644
index 000000000..77de73c5e
Binary files /dev/null and b/samples/Support7Demos/res/drawable-ldrtl-xhdpi/drawer_shadow.9.png differ
diff --git a/samples/Support7Demos/res/drawable-ldrtl-xhdpi/drawer_shadow_end.9.png b/samples/Support7Demos/res/drawable-ldrtl-xhdpi/drawer_shadow_end.9.png
new file mode 100644
index 000000000..fa3d853e9
Binary files /dev/null and b/samples/Support7Demos/res/drawable-ldrtl-xhdpi/drawer_shadow_end.9.png differ
diff --git a/samples/Support7Demos/res/drawable-mdpi/drawer_shadow_end.9.png b/samples/Support7Demos/res/drawable-mdpi/drawer_shadow_end.9.png
new file mode 100644
index 000000000..b96daaeb6
Binary files /dev/null and b/samples/Support7Demos/res/drawable-mdpi/drawer_shadow_end.9.png differ
diff --git a/samples/Support7Demos/res/drawable-xhdpi/drawer_shadow_end.9.png b/samples/Support7Demos/res/drawable-xhdpi/drawer_shadow_end.9.png
new file mode 100644
index 000000000..77de73c5e
Binary files /dev/null and b/samples/Support7Demos/res/drawable-xhdpi/drawer_shadow_end.9.png differ
diff --git a/samples/Support7Demos/res/layout/drawer_layout.xml b/samples/Support7Demos/res/layout/drawer_layout.xml
index f8d22d15a..1249b8b76 100644
--- a/samples/Support7Demos/res/layout/drawer_layout.xml
+++ b/samples/Support7Demos/res/layout/drawer_layout.xml
@@ -76,7 +76,21 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
- android:background="#ff333333"
+ android:background="#333333"
android:fitsSystemWindows="true"/>
+
+
+
diff --git a/samples/Support7Demos/src/com/example/android/supportv7/widget/DrawerLayoutActivity.java b/samples/Support7Demos/src/com/example/android/supportv7/widget/DrawerLayoutActivity.java
index d6548739c..785436455 100644
--- a/samples/Support7Demos/src/com/example/android/supportv7/widget/DrawerLayoutActivity.java
+++ b/samples/Support7Demos/src/com/example/android/supportv7/widget/DrawerLayoutActivity.java
@@ -27,10 +27,10 @@ import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import android.view.View;
-import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
+import android.widget.FrameLayout;
import android.widget.ListView;
import android.widget.TextView;
import com.example.android.supportv7.R;
@@ -77,7 +77,8 @@ import com.example.android.supportv7.Shakespeare;
*/
public class DrawerLayoutActivity extends AppCompatActivity {
private DrawerLayout mDrawerLayout;
- private ListView mDrawer;
+ private ListView mStartDrawer;
+ private FrameLayout mEndDrawer;
private TextView mContent;
private ActionBarDrawerToggle mDrawerToggle;
@@ -90,19 +91,21 @@ public class DrawerLayoutActivity extends AppCompatActivity {
setContentView(R.layout.drawer_layout);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
- mDrawer = (ListView) findViewById(R.id.start_drawer);
+ mStartDrawer = (ListView) findViewById(R.id.start_drawer);
+ mEndDrawer = (FrameLayout) findViewById(R.id.end_drawer);
mContent = (TextView) findViewById(R.id.content_text);
mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
+ mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow_end, GravityCompat.END);
// 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(this, android.R.layout.simple_list_item_1,
+ mStartDrawer.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1,
Shakespeare.TITLES));
- mDrawer.setOnItemClickListener(new DrawerItemClickListener());
+ mStartDrawer.setOnItemClickListener(new DrawerItemClickListener());
// Find the toolbar in our layout and set it as the support action bar on the activity.
// This is required to have the drawer slide "over" the toolbar.
@@ -171,10 +174,15 @@ public class DrawerLayoutActivity extends AppCompatActivity {
final int maxDrawerWidth = Math.max(0, drawerLayoutWidth - actionBarSize);
final int drawerWidth = Math.min(idealDrawerWidth, maxDrawerWidth);
- final DrawerLayout.LayoutParams drawerLp =
- (DrawerLayout.LayoutParams) mDrawer.getLayoutParams();
- drawerLp.width = drawerWidth;
- mDrawer.setLayoutParams(drawerLp);
+ final DrawerLayout.LayoutParams startDrawerLp =
+ (DrawerLayout.LayoutParams) mStartDrawer.getLayoutParams();
+ startDrawerLp.width = drawerWidth;
+ mStartDrawer.setLayoutParams(startDrawerLp);
+
+ final DrawerLayout.LayoutParams endDrawerLp =
+ (DrawerLayout.LayoutParams) mEndDrawer.getLayoutParams();
+ endDrawerLp.width = drawerWidth;
+ mEndDrawer.setLayoutParams(endDrawerLp);
// Remove ourselves as the pre-draw listener since this is a one-time
// configuration.
@@ -206,10 +214,22 @@ public class DrawerLayoutActivity extends AppCompatActivity {
@Override
public void onBackPressed() {
- // Is the drawer open?
- if (mDrawerLayout.isDrawerOpen(mDrawer)) {
- // Close the drawer and return.
- mDrawerLayout.closeDrawer(mDrawer);
+ boolean hadOpenDrawer = false;
+ // Is the start drawer open?
+ if (mDrawerLayout.isDrawerOpen(mStartDrawer)) {
+ // Close it
+ mDrawerLayout.closeDrawer(mStartDrawer);
+ hadOpenDrawer = true;
+ }
+ // Is the end drawer open?
+ if (mDrawerLayout.isDrawerOpen(mEndDrawer)) {
+ // Close it
+ mDrawerLayout.closeDrawer(mEndDrawer);
+ hadOpenDrawer = true;
+ }
+
+ if (hadOpenDrawer) {
+ // If we had one or both drawers open, now that we've closed it / them, return.
return;
}
@@ -231,7 +251,7 @@ public class DrawerLayoutActivity extends AppCompatActivity {
public void onItemClick(AdapterView> parent, View view, int position, long id) {
mContent.setText(Shakespeare.DIALOGUE[position]);
mToolbar.setTitle(Shakespeare.TITLES[position]);
- mDrawerLayout.closeDrawer(mDrawer);
+ mDrawerLayout.closeDrawer(mStartDrawer);
}
}
}