首页 > 代码库 > 实用代码段1
实用代码段1
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; }
/** * 展开状态栏 * * @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; }
/** * 获取状态栏高度 * * @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); }
/** * 开启显示触摸位置功能 * * @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); }
备注:部分代码原型来源网络。
实用代码段1
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。