/**
* 获取屏幕宽高等信息、全屏切换、保持屏幕常亮、截屏等
*
*/
public final class ScreenUtils {
private static boolean isFullScreen = false;
/**
* Display metrics display metrics.
*
* 这里没有做兼容性的处理
*/
public static DisplayMetrics displayMetrics(Context context) {
DisplayMetrics dm = new DisplayMetrics();
WindowManager windowManager = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
windowManager.getDefaultDisplay().getMetrics(dm);
return dm;
}
/**
* Width pixels int.宽
*
* @param context the context
* @return the int
*/
public static int widthPixels(Context context) {
return displayMetrics(context).widthPixels;
}
/**
* Height pixels int.高
*
* @param context the context
* @return the int
*/
public static int heightPixels(Context context) {
return displayMetrics(context).heightPixels;
}
/**
* Density float.密度
*
* @param context the context
* @return the float
*/
public static float density(Context context) {
return displayMetrics(context).density;
}
/**
* Density dpi int.指每英寸中的像素数
*
* @param context the context
* @return the int
*/
public static int densityDpi(Context context) {
return displayMetrics(context).densityDpi;
}
/**
* Is full screen boolean.
*
* @return the boolean
*/
public static boolean isFullScreen() {
return isFullScreen;
}
/**
* Toggle full displayMetrics.切换全屏
*
* @param activity the activity
*/
public static void toggleFullScreen(Activity activity) {
Window window = activity.getWindow();
int flagFullscreen = WindowManager.LayoutParams.FLAG_FULLSCREEN;
if (isFullScreen) {
window.clearFlags(flagFullscreen);
isFullScreen = false;
} else {
window.setFlags(flagFullscreen, flagFullscreen);
isFullScreen = true;
}
}
/**
* 保持屏幕常亮
*
* @param activity the activity
*/
public static void keepBright(Activity activity) {
//需在setContentView前调用
int keepScreenOn = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
activity.getWindow().setFlags(keepScreenOn, keepScreenOn);
}
}
ScreenUtils,一个跟android屏幕相关的工具类
最新推荐文章于 2023-07-25 16:48:21 发布