欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

获得屏幕相关的Android辅助类,屏幕android辅助类, import a

来源: javaer 分享于  点击 46401 次 点评:223

获得屏幕相关的Android辅助类,屏幕android辅助类, import a


    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;          }      }  
相关栏目:

用户点评