diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8c59be3..3ac7b9b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -22,5 +22,8 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/ysn/com/statusbarutils/MainActivity.java b/app/src/main/java/ysn/com/statusbarutils/MainActivity.java
index 979157f..effcf9b 100644
--- a/app/src/main/java/ysn/com/statusbarutils/MainActivity.java
+++ b/app/src/main/java/ysn/com/statusbarutils/MainActivity.java
@@ -12,6 +12,7 @@
import ysn.com.statusbarutils.page.ColorActivity;
import ysn.com.statusbarutils.page.FragmentIndexActivity;
import ysn.com.statusbarutils.page.GradientActivity;
+import ysn.com.statusbarutils.page.ShowHideStatusBarActivity;
import ysn.com.statusbarutils.page.TransparentActivity;
import ysn.com.statusbarutils.utils.DeviceUtils;
import ysn.com.statusbarutils.utils.ResUtils;
@@ -30,18 +31,19 @@ protected void onCreate(Bundle savedInstanceState) {
TextView deviceInfoTextView = findViewById(R.id.main_activity_device_info);
deviceInfoTextView.setText(ResUtils.getStringFormat(R.string.text_device_info,
- DeviceUtils.getDeviceBrand(),
- DeviceUtils.getSystemModel(),
- DeviceUtils.getSystemVersion()
+ DeviceUtils.getDeviceBrand(),
+ DeviceUtils.getSystemModel(),
+ DeviceUtils.getSystemVersion()
));
setOnClickListener(R.id.main_activity_skip_color,
- R.id.main_activity_skip_transparent,
- R.id.main_activity_skip_gradient,
- R.id.main_activity_skip_fragment,
- R.id.main_activity_light_mode,
- R.id.main_activity_dark_mode,
- R.id.main_activity_skip_color);
+ R.id.main_activity_skip_transparent,
+ R.id.main_activity_skip_gradient,
+ R.id.main_activity_skip_fragment,
+ R.id.main_activity_light_mode,
+ R.id.main_activity_dark_mode,
+ R.id.main_activity_skip_color,
+ R.id.main_activity_show_hide_status_bar);
}
private void setOnClickListener(@IdRes int... idResArray) {
@@ -73,6 +75,9 @@ public void onClick(View view) {
StatusBarUtils.setColor(this, ResUtils.getColor(R.color.color_black1), toolbar);
StatusBarUtils.setDarkMode(MainActivity.this);
break;
+ case R.id.main_activity_show_hide_status_bar:
+ startActivity(ShowHideStatusBarActivity.class);
+ break;
default:
break;
}
diff --git a/app/src/main/java/ysn/com/statusbarutils/page/ShowHideStatusBarActivity.java b/app/src/main/java/ysn/com/statusbarutils/page/ShowHideStatusBarActivity.java
new file mode 100644
index 0000000..1405110
--- /dev/null
+++ b/app/src/main/java/ysn/com/statusbarutils/page/ShowHideStatusBarActivity.java
@@ -0,0 +1,48 @@
+package ysn.com.statusbarutils.page;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+
+import ysn.com.statusbar.StatusBarUtils;
+import ysn.com.statusbarutils.R;
+import ysn.com.statusbarutils.utils.DeviceUtils;
+
+/**
+ * @Author yangsanning
+ * @ClassName ShowHideStatusBarActivity
+ * @Description 显示隐藏状态栏
+ * @Date 2019/12/26
+ * @History 2019/12/26 author: description:
+ */
+public class ShowHideStatusBarActivity extends Activity implements View.OnClickListener {
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_show_hide_status_bar);
+
+ findViewById(R.id.show_hide_status_bar_activity_show).setOnClickListener(this);
+ Button hideBarView = findViewById(R.id.show_hide_status_bar_activity_hide);
+ ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) hideBarView.getLayoutParams();
+ params.bottomMargin = DeviceUtils.getNavigationBarHeight(this);
+ hideBarView.setOnClickListener(this);
+ }
+
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.show_hide_status_bar_activity_show:
+ StatusBarUtils.showStatusBar(this);
+ break;
+ case R.id.show_hide_status_bar_activity_hide:
+ StatusBarUtils.hideStatusBar(this);
+ break;
+ default:
+ break;
+ }
+ }
+}
diff --git a/app/src/main/java/ysn/com/statusbarutils/utils/DeviceUtils.java b/app/src/main/java/ysn/com/statusbarutils/utils/DeviceUtils.java
index d342d08..5c6ae92 100644
--- a/app/src/main/java/ysn/com/statusbarutils/utils/DeviceUtils.java
+++ b/app/src/main/java/ysn/com/statusbarutils/utils/DeviceUtils.java
@@ -1,5 +1,8 @@
package ysn.com.statusbarutils.utils;
+import android.content.Context;
+import android.content.res.Resources;
+
/**
* @Author yangsanning
* @ClassName DeviceUtils
@@ -29,4 +32,14 @@ public static String getSystemModel() {
public static String getDeviceBrand() {
return android.os.Build.BRAND;
}
+
+ /**
+ * 获取虚拟键盘高度
+ */
+ public static int getNavigationBarHeight(Context activity) {
+ Resources resources = activity.getResources();
+ int resourceId = resources.getIdentifier("navigation_bar_height",
+ "dimen", "android");
+ return resources.getDimensionPixelSize(resourceId);
+ }
}
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index adb0933..50a9e59 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -13,62 +13,74 @@
app:title="@string/app_name"
app:titleTextColor="@color/color_white" />
-
+ android:layout_height="match_parent">
-
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:padding="5dp">
-
+
-
+
-
+
-
+
-
+
-
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_show_hide_status_bar.xml b/app/src/main/res/layout/activity_show_hide_status_bar.xml
new file mode 100644
index 0000000..6d7dac4
--- /dev/null
+++ b/app/src/main/res/layout/activity_show_hide_status_bar.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c68cf6b..1f93c20 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -11,4 +11,7 @@
Fragment演示
Light Mode(Android6.0及以上有效)
Dark Mode(Android6.0及以上有效)
+ 显示隐藏状态栏
+ 显示状态栏
+ 隐藏状态栏
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 3c8949f..0b0e8ae 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -11,4 +11,9 @@
- true
- @color/color_background
+
+
diff --git a/configs.gradle b/configs.gradle
index 16513c0..73b20bb 100644
--- a/configs.gradle
+++ b/configs.gradle
@@ -3,8 +3,8 @@ ext {
minSdkVersion : 19,
compileSdkVersion: 28,
targetSdkVersion : 28,
- versionCode : 10000,
- versionName : "1.0.0",
+ versionCode : 10001,
+ versionName : "1.0.1",
]
dependVersion = [
diff --git a/statusbar/src/main/java/ysn/com/statusbar/StatusBarUtils.java b/statusbar/src/main/java/ysn/com/statusbar/StatusBarUtils.java
index 0c31a15..7f5a863 100644
--- a/statusbar/src/main/java/ysn/com/statusbar/StatusBarUtils.java
+++ b/statusbar/src/main/java/ysn/com/statusbar/StatusBarUtils.java
@@ -119,6 +119,30 @@ public static void setLightMode(@NonNull Activity activity) {
darkMode(activity.getWindow(), false);
}
+
+ /**
+ * 获取状态栏高度
+ */
+ public static int getStatusBarHeight(Context context) {
+ int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
+ return context.getResources().getDimensionPixelSize(resourceId);
+ }
+
+ /**
+ * 显示状态栏
+ */
+ public static void showStatusBar(Activity activity) {
+ activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
+ }
+
+ /**
+ * 隐藏状态栏
+ */
+ public static void hideStatusBar(Activity activity) {
+ activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+ | View.SYSTEM_UI_FLAG_FULLSCREEN);
+ }
+
@TargetApi(Build.VERSION_CODES.M)
private static void darkMode(Window window, boolean dark) {
if (isFlyme4()) {
@@ -266,12 +290,4 @@ private static void setRootView(Activity activity, boolean fitSystemWindows) {
}
}
}
-
- /**
- * 获取状态栏高度
- */
- private static int getStatusBarHeight(Context context) {
- int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
- return context.getResources().getDimensionPixelSize(resourceId);
- }
}