横屏时移除 WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION
This commit is contained in:
1 parent
6331c3c86d
commit
0ea49f593b
7 files changed
+79
-80
No files matched your search
@@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2014 Hippo Seven
|
||||
|
||||
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.
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<style name="AppTheme.Normal">
|
||||
<item name="android:windowTranslucentStatus">true</item>
|
||||
<item name="android:windowTranslucentNavigation">true</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.Main.ListActivity">
|
||||
<item name="android:windowBackground">@color/list_main_bg</item>
|
||||
<item name="android:windowTranslucentStatus">true</item>
|
||||
<item name="android:windowTranslucentNavigation">true</item>
|
||||
</style>
|
||||
|
||||
<!-- For activity whose main view is list, make background darker to match white list -->
|
||||
<style name="AppTheme.ListActivity">
|
||||
<item name="android:windowBackground">@color/list_main_bg</item>
|
||||
<item name="android:windowTranslucentStatus">true</item>
|
||||
<item name="android:windowTranslucentNavigation">true</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.hippo.ehviewer.ui;
|
||||
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
|
||||
import com.google.analytics.tracking.android.EasyTracker;
|
||||
@@ -25,11 +27,25 @@ import com.hippo.ehviewer.util.Ui;
|
||||
|
||||
public abstract class AbstractFragmentActivity extends FragmentActivity {
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
Ui.adjustOrientation(this, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
|
||||
Ui.updateTranslucent(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
||||
Ui.adjustOrientation(this);
|
||||
Ui.adjustOrientation(this, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -38,8 +54,6 @@ public abstract class AbstractFragmentActivity extends FragmentActivity {
|
||||
|
||||
if (Config.getAllowAnalyics())
|
||||
EasyTracker.getInstance(this).activityStart(this);
|
||||
|
||||
Ui.adjustOrientation(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.hippo.ehviewer.ui;
|
||||
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceActivity;
|
||||
|
||||
import com.google.analytics.tracking.android.EasyTracker;
|
||||
@@ -24,11 +26,25 @@ import com.hippo.ehviewer.util.Ui;
|
||||
|
||||
public class AbstractPreferenceActivity extends PreferenceActivity {
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
Ui.adjustOrientation(this, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
|
||||
Ui.updateTranslucent(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
||||
Ui.adjustOrientation(this);
|
||||
Ui.adjustOrientation(this, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -37,8 +53,6 @@ public class AbstractPreferenceActivity extends PreferenceActivity {
|
||||
|
||||
if (Config.getAllowAnalyics())
|
||||
EasyTracker.getInstance(this).activityStart(this);
|
||||
|
||||
Ui.adjustOrientation(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -16,6 +16,9 @@
|
||||
|
||||
package com.hippo.ehviewer.ui;
|
||||
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.google.analytics.tracking.android.EasyTracker;
|
||||
import com.hippo.ehviewer.cache.ImageCache;
|
||||
import com.hippo.ehviewer.util.Config;
|
||||
@@ -24,11 +27,25 @@ import com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivity;
|
||||
|
||||
public class AbstractSlidingActivity extends SlidingActivity {
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
Ui.adjustOrientation(this, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
|
||||
Ui.updateTranslucent(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
||||
Ui.adjustOrientation(this);
|
||||
Ui.adjustOrientation(this, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -37,8 +54,6 @@ public class AbstractSlidingActivity extends SlidingActivity {
|
||||
|
||||
if (Config.getAllowAnalyics())
|
||||
EasyTracker.getInstance(this).activityStart(this);
|
||||
|
||||
Ui.adjustOrientation(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -47,7 +62,6 @@ public class AbstractSlidingActivity extends SlidingActivity {
|
||||
|
||||
if (Config.getAllowAnalyics())
|
||||
EasyTracker.getInstance(this).activityStop(this);
|
||||
|
||||
ImageCache.getInstance(this).flush();
|
||||
}
|
||||
}
|
||||
@@ -131,7 +131,7 @@ public class GalleryDetailActivity extends AbstractFragmentActivity
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.viewpager);
|
||||
|
||||
|
||||
@@ -35,7 +35,6 @@ import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Message;
|
||||
import android.preference.PreferenceActivity;
|
||||
import android.text.Spannable;
|
||||
import android.text.SpannableStringBuilder;
|
||||
import android.text.style.ImageSpan;
|
||||
@@ -806,38 +805,6 @@ public class GalleryListActivity extends AbstractGalleryActivity
|
||||
}
|
||||
}
|
||||
|
||||
private void showPopularWarningDialog() {
|
||||
DialogBuilder db = new DialogBuilder(GalleryListActivity.this).
|
||||
setCancelable(false).
|
||||
setView(R.layout.popular_warning, false);
|
||||
db.setTitle(R.string.about_analyics_title);
|
||||
ViewGroup vg = db.getCustomLayout();
|
||||
final CheckBox cb = (CheckBox)vg.findViewById(R.id.set_default);
|
||||
db.setPositiveButton(android.R.string.ok, new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
((AlertButton)v).dialog.dismiss();
|
||||
if (cb.isChecked())
|
||||
Config.setPopularWarning(false);
|
||||
|
||||
Intent intent = new Intent(GalleryListActivity.this,
|
||||
SettingsActivity.class);
|
||||
intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT, SettingsActivity.AboutFragment.class.getName());
|
||||
intent.putExtra(PreferenceActivity.EXTRA_NO_HEADERS, true);
|
||||
startActivity(intent);
|
||||
}
|
||||
});
|
||||
db.setNegativeButton(android.R.string.cancel, new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
((AlertButton)v).dialog.dismiss();
|
||||
if (cb.isChecked())
|
||||
Config.setPopularWarning(false);
|
||||
}
|
||||
});
|
||||
db.create().show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.hippo.ehviewer.util;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
@@ -24,6 +25,7 @@ import android.graphics.BitmapFactory;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Build;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.KeyCharacterMap;
|
||||
import android.view.KeyEvent;
|
||||
@@ -31,6 +33,8 @@ import android.view.View;
|
||||
import android.view.View.MeasureSpec;
|
||||
import android.view.ViewConfiguration;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import com.hippo.ehviewer.ListUrls;
|
||||
import com.hippo.ehviewer.R;
|
||||
@@ -265,10 +269,32 @@ public class Ui {
|
||||
}
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.KITKAT)
|
||||
public static void updateTranslucent(Activity activity) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
||||
int screenOri = getOrientation(activity);
|
||||
Window w = activity.getWindow();
|
||||
|
||||
w.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
|
||||
if (screenOri == ORIENTATION_PORTRAIT)
|
||||
w.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
|
||||
else if (screenOri == ORIENTATION_LANDSCAPE)
|
||||
w.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
|
||||
}
|
||||
}
|
||||
|
||||
public static void adjustOrientation(Activity activity) {
|
||||
adjustOrientation(activity, false);
|
||||
}
|
||||
|
||||
public static void adjustOrientation(Activity activity,
|
||||
boolean updateTranslucent) {
|
||||
int screenOri = Config.getScreenOriMode();
|
||||
if (screenOri != activity.getRequestedOrientation())
|
||||
activity.setRequestedOrientation(screenOri);
|
||||
|
||||
if (updateTranslucent)
|
||||
updateTranslucent(activity);
|
||||
}
|
||||
|
||||
public static SystemBarConfig translucent(
|
||||
|
||||
Reference in new issue
Block a user