中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android分享筆記(1) 獲取屏幕尺寸,包括狀態欄

發布時間:2020-07-12 08:24:59 來源:網絡 閱讀:1237 作者:elyar007 欄目:移動開發

一大波干貨來襲,屏幕尺寸各種獲得,狀態欄尺寸可正確獲得,親測。

package com.elyar.app.util.measure;

import java.lang.reflect.Field;
import android.app.Activity;
import android.util.DisplayMetrics;
public class DisplayMeasure {
 /**
  * Note:個人經驗不服來辯<br>
  * 只有activity可以使用getWindowManager,否則應該使用<br>
  * Context.getResources().getDisplayMetrics()來獲取.<br>
  * 
  * @author ElyarAnwar 2016-1-29 21:24 Aksu
  * 
  */
 public DisplayMeasure() {
 
 }
 
 
 /**
  * 獲取屏幕尺寸,單位為像素
  * @param context Activity的上下文
  * @return 屏幕寬度 單位PX
  */
 public static int getScreenWidthPixel(Activity context){
  DisplayMetrics outMetrics = new DisplayMetrics();
  context.getWindowManager().getDefaultDisplay().getMetrics(outMetrics);
  int widthPixels = outMetrics.widthPixels;
  return widthPixels;
 }
 
 /**
  * 獲取屏幕尺寸,單位為像素
  * @param context Activity的上下文
  * @return 屏幕高度 單位PX
  */
 public static int getScreenHeightPixel(Activity context){
  DisplayMetrics outMetrics = new DisplayMetrics();
  context.getWindowManager().getDefaultDisplay().getMetrics(outMetrics);
  int heightPixels = outMetrics.heightPixels;
  return heightPixels;
 }
 
 /**
  * 獲取屏幕尺寸,單位為dp
  * @param context Activity的上下文
  * @return 屏幕寬度 單位Dp
  */
 public static int getScreenWidthInDp(Activity context){
  DisplayMetrics outMetrics = new DisplayMetrics();
  context.getWindowManager().getDefaultDisplay().getMetrics(outMetrics);
  int widthDp = outMetrics.widthPixels;
  return ChangeUnits.px2dp(context, widthDp);//將PX轉換成Dp
 }
 
 /**
  * 獲取屏幕尺寸,單位為dp
  * @param context Activity的上下文
  * @return 屏幕高度 單位Dp
  */
 public static int getScreenHeightInDp(Activity context){
  DisplayMetrics outMetrics = new DisplayMetrics();
  context.getWindowManager().getDefaultDisplay().getMetrics(outMetrics);
  int heightDp = outMetrics.heightPixels;
  return ChangeUnits.px2dp(context, heightDp);
 }
 
 
 /**
  * 獲取狀態欄高度
  * @param context 上下文
  * @return 狀態欄高度 單位像素
  */
 public static int getStatusBarHeightPixel(Activity 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 e1) { 
            e1.printStackTrace(); 
        }  
        return statusBarHeight; 
    }
 
 
 /**
  * 獲取狀態欄高度
  * @param context 上下文
  * @return 狀態欄高度 單位dp
  */
 public static int getStatusBarHeightInDp(Activity 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 e1) { 
            e1.printStackTrace(); 
        }  
        return ChangeUnits.px2dp(context, statusBarHeight); 
    }
}

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

额济纳旗| 亚东县| 防城港市| 龙州县| 潞西市| 莎车县| 库伦旗| 大连市| 闽侯县| 朝阳区| 新津县| 古交市| 云龙县| 铁力市| 边坝县| 常熟市| 徐闻县| 兴隆县| 萍乡市| 洱源县| 罗城| 寿光市| 中超| 旌德县| 遵义市| 黑龙江省| 鹰潭市| 奇台县| 梨树县| 新营市| 北票市| 遂川县| 高邮市| 清水县| 桂平市| 沁水县| 锡林浩特市| 乌苏市| 墨竹工卡县| 曲沃县| 太白县|