OSDN Git Service

Shows status bar in gallery when in portrait view.
authorPin Ting <pinting@google.com>
Fri, 3 Feb 2012 10:35:00 +0000 (18:35 +0800)
committerPin Ting <pinting@google.com>
Mon, 6 Feb 2012 06:12:28 +0000 (14:12 +0800)
bug: 5467810
Shows status bar in gallery, crop activity, picker activity when in
portrait view; hide status bar when in landscape view.

Change-Id: I17e2347f020db209ba0581a8e2f2aa19fcb4ceae

res/values/styles.xml
src/com/android/gallery3d/app/AbstractGalleryActivity.java

index 4f300cb..7218442 100644 (file)
@@ -17,7 +17,6 @@
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <style name="Theme.Gallery" parent="android:Theme.Holo">
         <item name="android:displayOptions"></item>
-        <item name="android:windowFullscreen">true</item>
         <item name="android:windowContentOverlay">@null</item>
         <item name="android:actionBarStyle">@style/Holo.ActionBar</item>
         <item name="android:windowBackground">@null</item>
index d25f60e..b3856ad 100644 (file)
@@ -36,6 +36,8 @@ import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.res.Configuration;
 import android.os.Bundle;
+import android.view.Window;
+import android.view.WindowManager;
 
 public class AbstractGalleryActivity extends Activity implements GalleryActivity {
     @SuppressWarnings("unused")
@@ -54,6 +56,12 @@ public class AbstractGalleryActivity extends Activity implements GalleryActivity
     private IntentFilter mMountFilter = new IntentFilter(Intent.ACTION_MEDIA_MOUNTED);
 
     @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        toggleStatusBarByOrientation();
+    }
+
+    @Override
     protected void onSaveInstanceState(Bundle outState) {
         mGLRootView.lockRenderThread();
         try {
@@ -69,6 +77,7 @@ public class AbstractGalleryActivity extends Activity implements GalleryActivity
         super.onConfigurationChanged(config);
         mStateManager.onConfigurationChange(config);
         invalidateOptionsMenu();
+        toggleStatusBarByOrientation();
     }
 
     public Context getAndroidContext() {
@@ -203,4 +212,14 @@ public class AbstractGalleryActivity extends Activity implements GalleryActivity
     public GalleryActionBar getGalleryActionBar() {
         return null;
     }
+
+    // Shows status bar in portrait view, hide in landscape view
+    private void toggleStatusBarByOrientation() {
+      Window win = getWindow();
+      if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
+          win.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
+      } else {
+          win.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
+      }
+    }
 }