2017-01-17 2 views
1

私は1つの主なアクティビティと8つのフラグメントを持つアプリを持っています。マニフェストファイルでは、次のような向きを設定しました:Androidのフラグメントで異種オリエンテーションを使用する

android:screenOrientation="landscape" 

8つの断片のうちの6つについて、この方向は問題ありません。しかし、私はちょうど2つの断片で方向を変更する必要があります。しかし、私はフラグメントに行くと、このコードを使用する場合How to set different orientation of fragment in activity?:として私は検索と同じaswerとのカップルの記事を発見した

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

     // Inflate the layout for this fragment 
     return inflater.inflate(R.layout.fragment_name, container, false); 
    } 

それが持っているようにアプリは、縦向きセットバック最初の画面に戻り異なる向きの設定でアプリを再起動しました。この後に開いたすべての画面は、アプリを閉じて再起動するまで縦向きに設定されます。

答えて

0

Manifestファイルからandroid:screenOrientation = "landscape"を削除する必要があります。その後、フラグメントごとにSCREEN_ORIENTATION_LANDSCAPEまたはSCREEN_ORIENTATION_PORTRAITモードを設定します。

+0

これらの変更を加えて、すべてのランドスケープフラグメントが正常にロードされます。しかし、2つのポートレイトフラグメントは、最初の画面に戻りますが、ポートレートモードで読み込まれます。 –

関連する問題