1、
/** * 收起状态栏 * * @param context * 上下文对象 * @return 成功收起状态栏返回true,否则返回false */ public static boolean collapseStatusBar(Context context) { Object statusbarService = context.getSystemService("statusbar"); if (statusbarService == null) { return false; } try { Class<?> statusBarManager = Class .forName("android.app.StatusBarManager"); if (statusBarManager == null) { return false; } Method collapseMethod; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { collapseMethod = statusBarManager.getMethod("collapsePanels"); } else { collapseMethod = statusBarManager.getMethod("collapse"); } if (collapseMethod == null) { return false; } collapseMethod.invoke(statusbarService); } catch (Exception e) { e.printStackTrace(); return false; } return true; }
2、
/** * 展开状态栏 * * @param context * 上下文对象 * @return 成功展开状态栏返回true,否则返回false */ public static boolean expandStatusBar(Context context) { Object statusbarService = context.getSystemService("statusbar"); if (statusbarService == null) { return false; } try { Class<?> statusBarManager = Class .forName("android.app.StatusBarManager"); if (statusBarManager == null) { return false; } Method expandMethod; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { expandMethod = statusBarManager .getMethod("expandNotificationsPanel"); } else { expandMethod = statusBarManager.getMethod("expand"); } if (expandMethod == null) { return false; } expandMethod.invoke(statusbarService); } catch (Exception e) { e.printStackTrace(); return false; } return true; }
3、
/** * 获取状态栏高度 * * @param context * 上下文对象 * @return 状态栏高度 */ public static int getStatusBarHeight(Context context) { Class<?> c = null; Object obj = null; Field field = null; int x = 0, statusBarHeight = 0; try { c = Class.forName("com.android.internal.R$dimen"); obj = c.newInstance(); field = c.getField("status_bar_height"); x = Integer.parseInt(field.get(obj).toString()); statusBarHeight = context.getResources().getDimensionPixelSize(x); } catch (Exception e) { e.printStackTrace(); } return statusBarHeight; }
4、
/** * 切换到全屏 * * @param activity * activity实例 */ public static void switchToFullScreen(Activity activity) { activity.getWindow().clearFlags( WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); activity.getWindow().addFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN); }
5、
/** * 切换到非全屏 * * @param activity * activity实例 */ public static void switchToNoFullScreen(Activity activity) { activity.getWindow().clearFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN); activity.getWindow().addFlags( WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); }
6、
/** * 开启显示触摸位置功能 * * @param context * 上下文对象 */ public static void showTouchLocation(Context context) { android.provider.Settings.System.putInt(context.getContentResolver(), "show_touches", 1); }
7、
/** * 关闭显示触摸位置功能 * * @param context * 上下文对象 */ public static void hideTouchLocation(Context context) { android.provider.Settings.System.putInt(context.getContentResolver(), "show_touches", 0); }
备注:部分代码原型来源网络。
时间: 2024-10-06 09:07:45