Guest User

Untitled

a guest
Jan 20th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.80 KB | None | 0 0
  1. @Override
  2. protected boolean fitSystemWindows(Rect insets) {
  3.  
  4. this.setPadding(viewActivity.getPaddingLeft() + insets.left, viewActivity.getPaddingTop() + insets.top,
  5. viewActivity.getPaddingRight() + insets.right, viewActivity.getPaddingBottom() + insets.bottom);
  6. insets.left = insets.top = insets.right = insets.bottom = 0;
  7. return true;
  8. }
  9.  
  10. @Override
  11. protected boolean fitSystemWindows(Rect insets) {
  12. int bottomPadding=insets.bottom;
  13. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
  14. Resources resources = getResources();
  15. int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
  16. if (resourceId > 0) {
  17. bottomPadding += resources.getDimensionPixelSize(resourceId);
  18. }
  19. }
  20. this.setPadding(viewActivity.getPaddingLeft() + insets.left, viewActivity.getPaddingTop() + insets.top,
  21. viewActivity.getPaddingRight() + insets.right, viewActivity.getPaddingBottom() + bottomPadding);
  22. insets.left = insets.top = insets.right = insets.bottom = 0;
  23. return true;
  24. }
  25.  
  26. public Point getNavigationBarSize(Context context) {
  27.  
  28. Point appUsableSize = getAppUsableScreenSize(context);
  29. Point realScreenSize = getRealScreenSize(context);
  30. // navigation bar on the right
  31. if (appUsableSize.x < realScreenSize.x) {
  32. return new Point(realScreenSize.x - appUsableSize.x, appUsableSize.y);
  33. }
  34.  
  35. // navigation bar at the bottom
  36. if (appUsableSize.y < realScreenSize.y) {
  37. return new Point(appUsableSize.x, realScreenSize.y - appUsableSize.y);
  38. }
  39.  
  40. // navigation bar is not present
  41. return new Point();
  42. }
  43.  
  44.  
  45. public Point getAppUsableScreenSize(Context context) {
  46.  
  47. WindowManager windowManager = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
  48. Display display = windowManager.getDefaultDisplay();
  49. Point size = new Point();
  50. display.getSize(size);
  51. return size;
  52. }
  53.  
  54. public Point getRealScreenSize(Context context) {
  55.  
  56. WindowManager windowManager = (WindowManager)
  57. context.getSystemService(Context.WINDOW_SERVICE);
  58. Display display = windowManager.getDefaultDisplay();
  59. Point size = new Point();
  60.  
  61. if (Build.VERSION.SDK_INT >= 17) {
  62. display.getRealSize(size);
  63. } else if (Build.VERSION.SDK_INT >= 14) {
  64. try {
  65. size.x = (Integer) Display.class.getMethod("getRawWidth").invoke(display);
  66. size.y = (Integer) Display.class.getMethod("getRawHeight").invoke(display);
  67. } catch (IllegalAccessException e) {} catch (InvocationTargetException e) {} catch (NoSuchMethodException e) {}
  68. }
  69.  
  70. return size;
  71. }
  72.  
  73. setPadding(getPaddingLeft(),
  74. getPaddingTop(), getPaddingRight(),
  75. getNavigationBarSize(getContext()).y);
  76.  
  77. if (getNavigationBarSize(getContext()).x > 0 && getNavigationBarSize(getContext()).y > 0) {
  78. this.postDelayed(new Runnable() {
  79. @Override
  80. public void run() {
  81. setPadding(getPaddingLeft(),
  82. getPaddingTop(), getPaddingRight(),
  83. getNavigationBarSize(getContext()).y);
  84. }
  85. }, 100);
  86. }
  87.  
  88. fitSystemWindows()
  89.  
  90. private void setScaleDirection(int direction){
  91.  
  92. int screenWidth = getScreenWidth();
  93. float pivotX;
  94. float pivotY = getScreenHeight() * 0.5f;
  95.  
  96. if (direction == DIRECTION_LEFT){
  97. scrollViewMenu = scrollViewLeftMenu;
  98. pivotX = screenWidth * 2.2f;
  99. }else{
  100. scrollViewMenu = scrollViewRightMenu;
  101. pivotX = screenWidth * -0.5f;
  102. }
  103.  
  104. ViewHelper.setPivotX(viewActivity, pivotX);
  105. ViewHelper.setPivotY(viewActivity, pivotY);
  106. ViewHelper.setPivotX(imageViewShadow, pivotX);
  107. ViewHelper.setPivotY(imageViewShadow, pivotY);
  108. scaleDirection = direction;
  109. }
Add Comment
Please, Sign In to add comment