Android屏幕尺寸相关类
来源:互联网 发布:淘宝怎么买伟哥 编辑:程序博客网 时间:2024/05/17 14:27
public class ScreenUtils { private ScreenUtils() { /* cannot be instantiated */ throw new UnsupportedOperationException("cannot be instantiated"); } /** * 获得屏幕宽度 * * @param context * @return */ public static int getScreenWidth(Context context) { WindowManager wm = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE); DisplayMetrics outMetrics = new DisplayMetrics(); wm.getDefaultDisplay().getMetrics(outMetrics); return outMetrics.widthPixels; } /** * 获得屏幕高度 * * @param context * @return */ public static int getScreenHeight(Context context) { WindowManager wm = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE); DisplayMetrics outMetrics = new DisplayMetrics(); wm.getDefaultDisplay().getMetrics(outMetrics); return outMetrics.heightPixels; } /** * 获得状态栏的高度 * * @param context * @return */ public static int getStatusHeight(Context context) { int statusHeight = -1; try { Class<?> clazz = Class.forName("com.android.internal.R$dimen"); Object object = clazz.newInstance(); int height = Integer.parseInt(clazz.getField("status_bar_height") .get(object).toString()); statusHeight = context.getResources().getDimensionPixelSize(height); } catch (Exception e) { e.printStackTrace(); } return statusHeight; } /** * 获取当前屏幕截图,包含状态栏 * * @param activity * @return */ public static Bitmap snapShotWithStatusBar(Activity activity) { View view = activity.getWindow().getDecorView(); view.setDrawingCacheEnabled(true); view.buildDrawingCache(); Bitmap bmp = view.getDrawingCache(); int width = getScreenWidth(activity); int height = getScreenHeight(activity); Bitmap bp = null; bp = Bitmap.createBitmap(bmp, 0, 0, width, height); view.destroyDrawingCache(); return bp; } /** * 获取当前屏幕截图,不包含状态栏 * * @param activity * @return */ public static Bitmap snapShotWithoutStatusBar(Activity activity) { View view = activity.getWindow().getDecorView(); view.setDrawingCacheEnabled(true); view.buildDrawingCache(); Bitmap bmp = view.getDrawingCache(); Rect frame = new Rect(); activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame); int statusBarHeight = frame.top; int width = getScreenWidth(activity); int height = getScreenHeight(activity); Bitmap bp = null; bp = Bitmap.createBitmap(bmp, 0, statusBarHeight, width, height - statusBarHeight); view.destroyDrawingCache(); return bp; } /* popupwindow设置背景灰色 */ public static void backgroundAlpha(Activity activity, float bgAlpha){ WindowManager.LayoutParams lp = activity.getWindow().getAttributes(); lp.alpha = bgAlpha; activity.getWindow().setAttributes(lp); }}
阅读全文
0 0
- Android屏幕尺寸相关类
- Android屏幕尺寸以及相关工具类
- 屏幕和尺寸相关---Android
- Android屏幕相关以及尺寸的转换工具类
- android 界面自适应屏幕尺寸相关
- Android 尺寸单位转换和屏幕适配相关
- Android 尺寸单位转换和屏幕适配相关
- Android 尺寸单位转换和屏幕适配相关
- android获取尺寸相关类
- Android各种屏幕尺寸
- Android 获取屏幕尺寸
- Android 屏幕 尺寸 单位
- Android 屏幕尺寸
- Android各种屏幕尺寸
- Android获取屏幕尺寸
- Android的屏幕尺寸
- android 获取屏幕尺寸
- Android各种屏幕尺寸
- 海量数据处理之字符串处理
- kubelet源码分析
- 采用对话框获取文件名称
- Maven学习之入门一
- HDU 1698 Just a Hook 线段树
- Android屏幕尺寸相关类
- 一份详细的mybatis-generator配置
- 最长公共子串 and 最长公共序列
- 基于ThinkPHP3.2.3后台登录界面学习记录(二)
- 规定区域二维码扫描,支持手电筒功能
- Android VR Player(全景视频播放器) [6]:视频列表的实现-本地视频
- ipv4-ipv6-mask
- Software design and testing
- C++入门学习笔记