實用程式碼片段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;}
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);}
備忘:部分代碼原型來源網路。