(1)获取屏幕相关信息
DisplayMetrics metric = new DisplayMetrics();
// getWindowManager().getDefaultDisplay().getMetrics(metric);
metric = this.getResources().getDisplayMetrics();// 这行代码可以用在自定义view中,比上面的代码适用范围广
int width = metric.widthPixels;// 屏幕宽度
int height = metric.heightPixels;// 屏幕高度
float density = metric.density;// 屏幕密度(0.75/1.0/1.5/2.0/3.0)
int densityDpi = metric.densityDpi;// 屏幕密度Dpi(120/160/240/320/480)
顺便说下屏幕适dp2px和px2dp
public class DensityUtil {
/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/
public static float dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return dpValue * scale;
}
/**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
*/
public static float px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return pxValue / scale;
}
} (2)获获取状态栏高度
public int getStatusBarHeight() {
int result = 0;
int resourceId = getResources().getIdentifier("status_bar_height",
"dimen", "android");
if (resourceId > 0) {
result = getResources().getDimensionPixelSize(resourceId);
}
return result;
}(3)手机型号与IMEI
private String getDeviceIds() {
TelephonyManager tm = (TelephonyManager) this
.getSystemService(TELEPHONY_SERVICE);
return tm.getDeviceId();
}
private String getModelNumber() {
return android.os.Build.MODEL;
}(4).应用中根据当前android系统版本号来加载不同的设置
privatestatic final boolean USE_TRANSITION_FRAMEWORK =
Build.VERSION.SDK_INT>= Build.VERSION_CODES.KITKAT;
Build.java
publicstatic class VERSION {
publicstatic final int SDK_INT =SystemProperties.getInt(
"ro.build.version.sdk",0);
publicstatic finalString SDK =getString("ro.build.version.sdk");
}//当前开发代号
Build.VERSION.CODENAME
//源码控制版本号
Build.VERSION.INCREMENTAL
//版本字符串
Build.VERSION.RELEASE
//版本号
Build.VERSION.SDK
//版本号
Build.VERSION.SDK_INT
本文介绍了如何在Android应用中获取屏幕的相关信息,包括屏幕尺寸、密度等,并提供了状态栏高度获取的方法。此外,还涉及了如何根据Android系统版本进行差异化处理及获取设备型号和IMEI号的技术细节。
2227

被折叠的 条评论
为什么被折叠?



