網上流行一段代碼 獲取狀態欄高度 如下:
Rect frame =
new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
int statusBarHeight = frame.top;
但是這個方法在 onCreate()方法中,獲取高度為0
不在onCreate()方法中是有效的
現提供一方法,可以在任何時候都能獲得正常高度。
//獲取手機狀態欄高度 public static int getStatusBarHeight(Context 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; }