首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 取得螢幕寬高:使用 DisplayMetrics 在執行時動態獲取

     編輯:程式設計綜合問答

在 onMeasure 或其他位置需螢幕尺寸時,透過 WindowManager 取得 DisplayMetrics 即可。

程式碼

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int screenWidth = metrics.widthPixels;
int screenHeight = metrics.heightPixels;

應用於 onMeasure

@Override
protected void onMeasure(int widthSpec, int heightSpec) {
    DisplayMetrics metrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);
    int width = metrics.widthPixels;
    int height = metrics.heightPixels - findViewById(R.id.flag).getHeight();
    setMeasuredDimension(width, height);
}

補充

  • widthPixels/heightPixels 為實際像素尺寸。
  • density、densityDpi 可用於 dp/px 轉換。
  • API 30+ 建議用 WindowMetricsCalculator 取得更精確視窗尺寸。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved