Android 窗口尺寸相关方法

166 阅读1分钟

低版本API 相关类

  1. android.view.Display
  2. android.view.WindowManager
  3. android.util.DisplayMetrics
  4. android.graphics.Point

通用步骤

  1. 获取WindowManager
val vm= (getSystemService(Context.WINDOW_SERVICE) as WindowManager)
  1. 获取Display对象
val display=vm.defaultDisplay

Display#getSize()和Display#getRealSize()

  1. 通过Point存储数据,x和y字段分别代表宽和高
// 创建Point对象
val point = Point()
// 获取实际的物理尺寸(包含状态栏和导航栏高度)
display.getRealSize(point)
// 获取窗口可用的尺寸(不包含状态栏和导航栏)
display.getSize(point)

Display#getMetrics()和Display#getRealSize()

  1. 通过DisplayMetrics 获取window尺寸,widthPixels 和 heightPixels 分别代表宽和高
// 创建Point对象
val displayMetrics = DisPlayMetrics()
// 获取实际的物理尺寸(包含状态栏和导航栏高度)
display.getRealMetrics(displayMetrics)
// 获取窗口可用的尺寸(不包含状态栏和导航栏)
display.getMetrics(displayMetrics)