zoukankan      html  css  js  c++  java
  • 取得安卓手机界面的尺寸,标题栏高度,状态栏高度,虚拟按键存在与否,和虚拟按键高度,取得手机操作系统版本

    取得安卓手机界面的尺寸,标题栏高度,状态栏高度,虚拟按键存在与否,和虚拟按键高度,取得手机操作系统版本

     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 } 
  • 相关阅读:
    Git 思想和工作原理
    scala 内部类
    nginx -stream(tcp连接)反向代理配置 实现代理ldap转发
    【转载】Keepalived安装使用详解
    【转载】Linux内存中buffer和 cached的比较
    【转载】Vmware Vconverter从物理机迁移系统到虚拟机P2V
    InfluxDB 备份和恢复
    Mongodb 主从同步
    Redis主从同步
    ActiveMQ 高可用集群安装、配置(ZooKeeper + LevelDB)
  • 原文地址:https://www.cnblogs.com/atong/p/3723500.html
Copyright © 2011-2022 走看看