Guest User

Untitled

a guest
Jan 21st, 2018
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. FrameLayout mFragmentHolder = createFragmentHolder(angle);
  2. mMainLayout.removeAllViews();
  3. mMainLayout.addView(mFragmentHolder);
  4. FragmentManager fm = getFragmentManager();
  5. mFragMain = new FragmentMain();
  6. FragmentTransaction ft = fm.beginTransaction();
  7. ft.add(mFragmentHolder.getId(), mFragMain);
  8. ft.commitAllowingStateLoss();
  9.  
  10. private FrameLayout createFragmentHolder(int angle) {
  11.  
  12. FrameLayout layout = new FrameLayout(this);
  13. layout.setId(R.id.container);
  14.  
  15. Point p = new Point();
  16. getWindowManager().getDefaultDisplay().getRealSize(p);
  17.  
  18. int h = p.y;
  19. int w = p.x;
  20.  
  21. LogUtil.d("size: " + h + " " + w);
  22. float delta = Math.abs(w - h);
  23. delta = delta / 2;
  24. FrameLayout.LayoutParams params = null;
  25. layout.setRotation(angle);
  26. if (angle == 0) {
  27.  
  28. params = new FrameLayout.LayoutParams(w, h);
  29. } else if (angle == 90) {
  30.  
  31. params = new FrameLayout.LayoutParams(h, w);
  32. layout.setPivotX((h / 2) + delta); // org +delta
  33. layout.setPivotY((w / 2));//+ delta
  34. } else if (angle == 180) {
  35. params = new FrameLayout.LayoutParams(w, h);
  36. } else if (angle == 270) {
  37. params = new FrameLayout.LayoutParams(h, w);
  38. layout.setPivotX((h / 2)); // org +delta
  39. layout.setPivotY((w / 2) - delta);//+ delta
  40. }
  41. layout.setLayoutParams(params);
  42. LogUtil.d("created view");
  43. return layout;
  44. }
Add Comment
Please, Sign In to add comment