安卓工具类------>获得屏幕相关的辅助类
来源:互联网 发布:微信支付接口文档java 编辑:程序博客网 时间:2024/05/21 06:34
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(){/* 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;}}
0 0
- 安卓工具类------>获得屏幕相关的辅助类
- Util:获得屏幕相关的辅助类
- android获得屏幕相关的辅助类
- 获得屏幕相关的辅助类
- 安卓工具类------>SD卡相关的辅助类
- Android ScreenUtils-获得屏幕相关的辅助类
- 屏幕相关的辅助类
- 屏幕相关的辅助类
- 屏幕相关辅助类
- Android工具类之屏幕相关辅助类
- 屏幕相关辅助类 ScreenUtils
- 安卓工具类------>常用单位转换的辅助类
- Android常用工具类之获取屏幕相关的辅助类
- Android屏幕相关辅助类 ScreenUtils
- 屏幕相关工具类
- 屏幕相关工具类
- 安卓工具类------->跟网络相关的工具类
- Android工具类--App相关的辅助类
- 固体表和DUAL表的介绍
- post提交数据
- 窗口刷新的几个函数:Invalidate UpdateWindow RedrawWindow(转)
- 23种设计模式之十八(行为模式)Mediator模式
- 在Ant的javac中指定源文件编码方式,以避免"警告: 编码 GBK 的不可映射字符"的错误
- 安卓工具类------>获得屏幕相关的辅助类
- Python装饰器学习(九步入门)
- jquery select
- adb shell
- Python3.4线性代数的应用
- 安卓工具类------>SD卡相关的辅助类
- (十九)TableView的点击监听和数据刷新(Alert的多种样式) -tag传值的技巧
- 迁移到64位后的字节对齐问题
- openfire拦截器