2016-08-01 52 views
1

我有多个片段在我的活动中动态变化。有些实例片段需要在横向添加,而有些则是纵向添加。如何指定片段必须添加到活动的角度?以特定角度添加片段

我当前的代码:

getfragmentManager.beginTransaction() 
       .setCustomAnimations(R.animator.fadein, R.animator.fadeout) 
       .add(R.id.fragment_container, playerPane, tag).commit(); 

onCreateView方法:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    View rootView = inflater.inflate(R.layout.fragment_player_pane, container, false); 
    FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) rootView.getLayoutParams(); 

    // set width height 
    params.height = (getArguments().getInt(HEIGHT)); 
    params.width = (getArguments().getInt(WIDTH)); 


    params.setMargins((getArguments().getInt(LEFT_MARGIN)), 
      (getArguments().getInt(TOP_MARGIN)), 
      (getArguments().getInt(RIGHT_MARGIN)), 
      (getArguments().getInt(BOTTOM_MARGIN))); 

    rootView.setLayoutParams(params); 

    return rootView; 
} 

回答

0

您可以检查设备的配置,看它是否是纵向还是横向的if语句使用,在一个启动一个不同的片段。

if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { 
    // launch portrait fragment 
} else { 
    // launch landscape fragment 
} 

作为补充,如果我在写这个程序,我会尽量不改变其片段根据方向被添加,而是有不同,这取决于定向通过使用片段本身提出意见有针对性的XML并在该片段本身内进行检查

0

井片段将有一个根视图,您为它设置角度并旋转。

1. Programatically 

view.setRotation((float) 45.0); //example 

2. Xml 
      android:rotation="" 
      android:rotationX="" 
      android:rotationY="" 

我在想什么,需要做这个的。如果它真的需要支持多种定位问题,请经过下面的链接

multiple screens support