2016-08-01 51 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