取得安卓手机界面的尺寸,标题栏高度,状态栏高度,虚拟按键存在与否,和虚拟按键高度,取得手机操作系统版本
1 /** 2 * 获取标题栏的高度 3 * 4 * @param activity 5 * @return 6 */ 7 public int getTitleHeight(Activity activity) { 8 Rect rect = new Rect(); 9 Window window = activity.getWindow(); 10 window.getDecorView().getWindowVisibleDisplayFrame(rect); 11 int statusBarHeight = rect.top; 12 int contentViewTop = window.findViewById(Window.ID_ANDROID_CONTENT).getTop(); 13 int titleBarHeight = contentViewTop - statusBarHeight; 14 15 return titleBarHeight; 16 }
1 /** 2 * 3 * 获取状态栏高度 4 * 5 * @param activity 6 * @return 7 */ 8 public int getStateHeight(Activity activity) { 9 Rect rect = new Rect(); 10 activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect); 11 return rect.top; 12 }
1 /** 2 * 获取屏幕宽高 3 * 4 * @param activity 5 * @return int[0] 宽,int[1]高 6 */ 7 public int[] getScreenWidthAndSizeInPx(Activity activity) { 8 DisplayMetrics displayMetrics = new DisplayMetrics(); 9 activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); 10 int[] size = new int[2]; 11 size[0] = displayMetrics.widthPixels; 12 size[1] = displayMetrics.heightPixels; 13 return size; 14 }
1 /** 2 * 模拟home键 3 * 4 * @param context 5 */ 6 public void goToDestop(Context context) { 7 Intent intent = new Intent(Intent.ACTION_MAIN); 8 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 9 intent.addCategory(Intent.CATEGORY_HOME); 10 context.startActivity(intent); 11 }
1 Android在代码中查看系统版本 2 switch (Build.VERSION.SDK_INT) { 3 case Build.VERSION_CODES.BASE: 4 // API Level 1 Android 1.0 5 Log.i(TAG, "API Level 1 Android 1.0"); 6 break; 7 case Build.VERSION_CODES.BASE_1_1: 8 // API Level 2 Android 1.1 9 Log.i(TAG, "API Level 2 Android 1.1"); 10 break; 11 case Build.VERSION_CODES.CUPCAKE: 12 // API Level 3 Android 1.5 13 Log.i(TAG, "API Level 3 Android 1.5"); 14 break; 15 case Build.VERSION_CODES.DONUT: 16 // API Level 4 Android 1.6 17 Log.i(TAG, "API Level 4 Android 1.6"); 18 break; 19 case Build.VERSION_CODES.ECLAIR: 20 // API Level 5 Android 2.0 21 Log.i(TAG, "API Level 5 Android 2.0"); 22 break; 23 case Build.VERSION_CODES.ECLAIR_0_1: 24 // API Level 6 Android 2.0.1 25 Log.i(TAG, "API Level 6 Android 2.0.1"); 26 break; 27 case Build.VERSION_CODES.ECLAIR_MR1: 28 // API Level 7 Android 2.1.x 29 Log.i(TAG, "API Level 7 Android 2.1.x"); 30 break; 31 case Build.VERSION_CODES.FROYO: 32 // API Level 8 Android 2.2.x 33 Log.i(TAG, "API Level 8 Android 2.2.x"); 34 break; 35 case Build.VERSION_CODES.GINGERBREAD: 36 // API Level 9 Android 2.3/2.3.1/2.3.2 37 Log.i(TAG, "API Level 9 Android 2.3/2.3.1/2.3.2"); 38 break; 39 case Build.VERSION_CODES.GINGERBREAD_MR1: 40 // API Level 10 Android 2.3.4 41 Log.i(TAG, "API Level 10 Android 2.3.4"); 42 break; 43 case Build.VERSION_CODES.HONEYCOMB: 44 // API Level 11 Android 3.0.x 45 Log.i(TAG, "API Level 11 Android 3.0.x"); 46 break; 47 case Build.VERSION_CODES.HONEYCOMB_MR1: 48 // API Level 12 Android 3.1.x 49 Log.i(TAG, "API Level 12 Android 3.1.x"); 50 break; 51 case Build.VERSION_CODES.HONEYCOMB_MR2: 52 // API Level 13 Android 3.2.x 53 Log.i(TAG, "API Level 13 Android 3.2.x"); 54 break; 55 case Build.VERSION_CODES.ICE_CREAM_SANDWICH: 56 // API Level 14 Android 4.0/4.0.1/4.0.2 57 Log.i(TAG, "API Level 14 Android 4.0/4.0.1/4.0.2"); 58 break; 59 case Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1: 60 // API Level 15 Android 4.0.3/4.0.4 61 Log.i(TAG, "API Level 15 Android 4.0.3/4.0.4"); 62 break; 63 case Build.VERSION_CODES.JELLY_BEAN: 64 // API Level 16 Android 4.1/4.1.1 65 Log.i(TAG, "API Level 16 Android 4.1/4.1.1"); 66 break; 67 case Build.VERSION_CODES.JELLY_BEAN_MR1: 68 // API Level 17 Android 4.2/4.2.2 69 Log.i(TAG, "API Level 17 Android 4.2/4.2.2"); 70 break; 71 case Build.VERSION_CODES.JELLY_BEAN_MR2: 72 // API Level 18 Android 4.3 73 Log.i(TAG, "API Level 18 Android 4.3"); 74 break; 75 case Build.VERSION_CODES.KITKAT: 76 // API Level 19 Android 4.4 77 Log.i(TAG, "API Level 19 Android 4.4"); 78 break; 79 default: 80 break; 81 }