android 获取手机分辨率、状态栏、…
2014-06-14 19:38
387 查看
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
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
相关文章推荐
- 【Android基础】获取手机分辨率、状态栏、标题栏高度
- Android基础 获取手机分辨率、状态栏、标题栏高度
- 【Android基础】获取手机分辨率、状态栏、标题栏高度
- android&nbsp;不同手机分辨率适配问题
- Android&nbsp;获取手机IMEI
- Android 创建菜单项Menu及获取手机分辨率
- 获取系统版本&获取手机分辨率
- android中获取手机分辨率
- android开发中获取手机分辨率大小的方法
- 【小功能2】android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)
- 获取Android手机分辨率
- 获取android手机屏幕分辨率
- android 获取手机分辨率错误
- Android 创建菜单项Menu及获取手机分辨率
- android 获取手机屏幕分辨率和setRequestedOrientation设置屏幕方向
- 【小功能2】android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)
- android 获取手机屏幕分辨率和setRequestedOrientation设置屏幕方向
- android 获取手机屏幕分辨率和setRequestedOrientation设置屏幕方向
- Android 代码获取手机屏幕分辨率的代码
- android 获取手机的分辨率