Android获取屏幕数据的工具类
来源:互联网 发布:php授权系统源码下载 编辑:程序博客网 时间:2024/05/21 10:49
直接上代码
package com.example;import android.app.Activity;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Rect;import android.util.DisplayMetrics;import android.view.View;import android.view.WindowManager;public class ScreenUtils {private ScreenUtils() {throw new UnsupportedOperationException("---------------error-------------");}/** * 获得屏幕高度 * * @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;}}
0 0
- Android获取屏幕数据的工具类
- Android工具类--获取屏幕信息类
- android--获取屏幕高宽度工具类
- Android获取屏幕信息工具类
- 获取屏幕的尺寸的工具类
- 获取屏幕属性的工具类
- Android dp、px、sp互相转换,获取设备屏幕宽高的工具类DisplayUtil源码
- 获取数据的工具类
- 分享一个获取屏幕的宽高的工具类
- 获取屏幕宽度高度截图的工具类
- Android 工具类(将 dp 转成 px 获取屏幕的高度/宽度 判断android SDK 版本是否大于等于5.0)
- android 系统版本信息工具类 获取设备型号 设置屏幕亮度 软键盘 获取屏幕高度宽度
- Android 获取屏幕的分辨率
- android 获取屏幕的方向
- android 获取屏幕的方向
- android 获取屏幕的分辨率
- android 获取屏幕的大小
- Android获取屏幕的大小
- iOS开发之纯代码约束
- ubuntu基本的shell命令
- centos 7和Windows 10双系统启动配置
- Redis学习笔记(三) Redis主从架构和主从从架构 (1)
- grunt
- Android获取屏幕数据的工具类
- JMeter学习(七)聚合报告之 90% Line 正确理解
- 如何识别一些常见的编码形式
- dom4j与xpath
- iOS中ARC项目使用MRC文件或MRC项目使用ARC
- c#获取今天开始时间的时间戳,以及时间戳和时间格式转换
- Android 6.0 使用 Apache HttpClient
- jQuery源码分析16--jQuery的each迭代器
- HDOJ 5038 Grade (模拟)