Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FrameLayout mFragmentHolder = createFragmentHolder(angle);
- mMainLayout.removeAllViews();
- mMainLayout.addView(mFragmentHolder);
- FragmentManager fm = getFragmentManager();
- mFragMain = new FragmentMain();
- FragmentTransaction ft = fm.beginTransaction();
- ft.add(mFragmentHolder.getId(), mFragMain);
- ft.commitAllowingStateLoss();
- private FrameLayout createFragmentHolder(int angle) {
- FrameLayout layout = new FrameLayout(this);
- layout.setId(R.id.container);
- Point p = new Point();
- getWindowManager().getDefaultDisplay().getRealSize(p);
- int h = p.y;
- int w = p.x;
- LogUtil.d("size: " + h + " " + w);
- float delta = Math.abs(w - h);
- delta = delta / 2;
- FrameLayout.LayoutParams params = null;
- layout.setRotation(angle);
- if (angle == 0) {
- params = new FrameLayout.LayoutParams(w, h);
- } else if (angle == 90) {
- params = new FrameLayout.LayoutParams(h, w);
- layout.setPivotX((h / 2) + delta); // org +delta
- layout.setPivotY((w / 2));//+ delta
- } else if (angle == 180) {
- params = new FrameLayout.LayoutParams(w, h);
- } else if (angle == 270) {
- params = new FrameLayout.LayoutParams(h, w);
- layout.setPivotX((h / 2)); // org +delta
- layout.setPivotY((w / 2) - delta);//+ delta
- }
- layout.setLayoutParams(params);
- LogUtil.d("created view");
- return layout;
- }
Add Comment
Please, Sign In to add comment