2016-04-25 3 views
1

みんな!私の質問はHow to lock fragment orientation without locking activity orientation?の逆のバージョンですが、そこからは何も私のために働いていません。フラグメントオリエンテーションをロックしないでアクティビティの方向をロックする方法はありますか?

ポイントは、私はカメラのプレビューが活動に産むカメラアプリ、および設定や他のものとのオーバーレイを持っていること、である - の断片で、次のように:だから

<RelativeLayout  
android:id="@+id/main_layout" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" 
android:weightSum="1"> 

<FrameLayout 
    android:id="@+id/surfaceView" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 

    /> 

<FrameLayout 
    android:id="@+id/overlayContainer" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    /> 

</RelativeLayout> 

、私はロックしたいですカメラのプレビューオリエンテーション、オーバーレイの向きをロックしないでください(サムスンのスマートフォンやスマートフォンのカメラアプリのように)。

ありがとうございます。

+0

があなたのフラグメントgetActivity(内側にあってみてください)setRequestedOrientation。 (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); //ポートレート用 getActivity()setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); //景観のために、それはまた、フラグメントの向きをロック –

+0

@RakshitNawani :( –

+0

ので、あなたの活動に方向性を与えておりフラグメントに方向性を与えてはいけない –

答えて

0

をマニフェストに追加することで、設定変更by yourselfを処理できます。

onConfigurationChanged()を上書きする必要があります。

+0

ええ、私はすでにそれをオーバーライドしていますので、アクティビティ自体は再作成されませんが、それでも自動的に回転します(問題はそれを防ぐ方法です) –

+0

http://stackoverflow.com/questions/13251930/allow-rotation- landscape-in​​-one-fragment –

0

は、あらゆる活動であなたのマニフェストファイル

では、あなたの活動のこのコードと名前を見つける:) の向きを設定します。

<activity android:name=".MainActivity"> 

このアンドロイドに属性を追加します。screenOrientation =「」

あなたはすべての活動の必要な方向性を得ることができるように:)デフォルトで

+0

しかし、フラグメントの向きもロックされます:( –

関連する問題