我的應用程序需要在縱向模式下,所以我把它的表現是:設置方向只有1片段在我的活動,而其餘的是在縱向
android:screenOrientation="portrait"
但我剛剛加入另一個片段(FragA),它的外觀和功能在橫向上都能提高10倍。有什麼我可以放在我的FragA裏面,只是在橫向上製作片段,同時保留縱向應用的其餘部分,或者通過這樣做,我不得不添加一些東西到我的其他片段,以保留它們作爲肖像?
我的應用程序需要在縱向模式下,所以我把它的表現是:設置方向只有1片段在我的活動,而其餘的是在縱向
android:screenOrientation="portrait"
但我剛剛加入另一個片段(FragA),它的外觀和功能在橫向上都能提高10倍。有什麼我可以放在我的FragA裏面,只是在橫向上製作片段,同時保留縱向應用的其餘部分,或者通過這樣做,我不得不添加一些東西到我的其他片段,以保留它們作爲肖像?
方向屬性是針對每個活動的,因此您可以僅爲包含片段的活動聲明方向,以使其處於橫向狀態,其餘活動將保持原樣。
在您想要特定(在此情況下是縱向)方向的片段中使用以下代碼行。
getActivity().setRequestedOrientation(
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
如果您希望在片段中有一個方向,即基於用戶握住他的設備的方式,請使用以下代碼行。
getActivity().setRequestedOrientation(
ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
希望,這會給你預期的解決方案。
在每個片段中,設置請求的方向。
參考文檔:http://developer.android.com/reference/android/content/pm/ActivityInfo.html
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Fragment locked in portrait screen orientation
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
// Fragment locked in landscape screen orientation
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
// Fragment screen orientation normal both portait and landscape
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}
所以基本上我最好的選擇是隻創建另一個活動,然後在我的清單只是把那爲:機器人:screenOrientation =「風景」? –
是的,這將確保您的功能永遠不會失敗。 –
@DineshVenkata但我不想旋轉片段而不是活動做什麼 – PriyankaChauhan