Advertisement
Guest User

Untitled

a guest
Jul 28th, 2015
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.86 KB | None | 0 0
  1. /**
  2. * Copyright (C) 2014 Jay.
  3. *
  4. * All Rights Reserved.
  5. */
  6.  
  7. package com.tryear.jandroid.lib.util;
  8.  
  9. import android.app.Activity;
  10. import android.content.Context;
  11. import android.content.res.Resources;
  12. import android.graphics.Rect;
  13. import android.util.DisplayMetrics;
  14. import android.util.TypedValue;
  15.  
  16. import com.jay.android.lib.res.ResourcesUtils;
  17.  
  18. /**
  19. * Description
  20. *
  21. * @author Jay, created by Jay on 2014-01-22.
  22. */
  23. public class DisplayUtils {
  24. private static final String TAG = "DisplayUtils";
  25. private static final boolean LOCAL_DEBUG = true;
  26.  
  27. public static String dump(Context context) {
  28. DisplayMetrics displaysMetrics = context.getResources().getDisplayMetrics();
  29. String info = displaysMetrics.toString() + ", densityDpi=" + displaysMetrics.densityDpi;
  30. return info;
  31. }
  32.  
  33. /**
  34. * retrieve Display Metrics
  35. *
  36. * @param context
  37. * @return
  38. */
  39. public static DisplayMetrics getDisplayMetrics(Context context) {
  40. return displaysMetrics = context.getResources().getDisplayMetrics();
  41. }
  42.  
  43. public static float getDisplayWidth(Context context) {
  44. DisplayMetrics displaysMetrics = context.getResources().getDisplayMetrics();
  45. return displaysMetrics.widthPixels;
  46. }
  47.  
  48. public static float getDisplayHeight(Context context) {
  49. DisplayMetrics displaysMetrics = context.getResources().getDisplayMetrics();
  50. return displaysMetrics.heightPixels;
  51. }
  52.  
  53. public static int getStatusBarHeight1(Context context) {
  54. int statusBarHeight = 0;
  55. try {
  56. Rect frame = new Rect();
  57. Activity activity = (Activity) context;
  58. activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
  59. statusBarHeight = frame.top;
  60. return statusBarHeight;
  61. } catch (Exception e) {
  62. e.printStackTrace();
  63. }
  64. return statusBarHeight;
  65. }
  66.  
  67. public static int getStatusBarHeight2(Context context) {
  68. int statusBarHeight = 0;
  69. Class<?> c = null;
  70. Object obj = null;
  71. java.lang.reflect.Field field = null;
  72. try {
  73. c = Class.forName("com.android.internal.R$dimen");
  74. obj = c.newInstance();
  75. field = c.getField("status_bar_height");
  76. int x = Integer.parseInt(field.get(obj).toString());
  77. statusBarHeight = context.getResources().getDimensionPixelSize(x);
  78. return statusBarHeight;
  79. } catch (Exception e) {
  80. e.printStackTrace();
  81. }
  82. return statusBarHeight;
  83. }
  84.  
  85. public static int getStatusBarHeight(Context context) {
  86. int statusBarHeight = 0;// 25 dip
  87. int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
  88. if (resourceId > 0) {
  89. statusBarHeight = getResources().getDimensionPixelSize(resourceId);
  90. }
  91. return statusBarHeight;
  92. }
  93.  
  94. public static int getNavigationBarHeight(Context context) {// 48 dip
  95. Resources resources = context.getResources();
  96. int resourceId = resources.getIdentifier("navigation_bar_height",
  97. "dimen", "android");
  98. if (resourceId > 0) {
  99. return resources.getDimensionPixelSize(resourceId);
  100. }
  101. return 0;
  102. }
  103.  
  104. public int getActionBarHeight(Context context) {
  105. int actionBarHeight = 0; // 48 dip
  106. TypedValue tv = new TypedValue();
  107. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
  108. if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
  109. actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, context.getResources().getDisplayMetrics());
  110. }
  111. } else {
  112. actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, context.getResources().getDisplayMetrics());
  113. }
  114. return actionBarHeight;
  115. }
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement