480-800,480X854的状态栏是38
720-1280 的是56
如何通过代码获取手机屏幕的分辨率,代码其实很简单,关键是android.util.DisplayMetrics这个类。该类记录了一些常用信息,如显示信息、大小、维度、字体等等。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
int height = dm.heightPixels;
Button button = (Button)findViewById(R.id.b01);
button.setText("手机屏幕分辨率为:"+width+"*"+height);
}
Android下获取状态栏的高度
public static int getStatusHeight(Activity activity){
int statusHeight = 0;
Rect localRect = new Rect();
activity.getWindow().getDecorView(
).getWindowVisibleDisplayFrame(localRect);
statusHeight = localRect.top;
if (0 == statusHeight){
Class<?> localClass;
try {
localClass = Class.forName(
"com.android.internal.R$dimen");
Object localObject = localClass.newInstance();
int i5 = Integer.parseInt(
localClass.getField("status_bar_height").get(
localObject).toString());
statusHeight = activity.getResources(
).getDimensionPixelSize(i5);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
return statusHeight;
}
用以上代码测试了下小米手机1(480X854)的状态栏的高度是:38