總網頁瀏覽量

關於我自己

我的相片
人生的必修課是接受無常,人生的選修課是放下執著。

2014年7月13日 星期日

[Android] 控制螢幕翻轉

extends Activity的類別需要在Manifest.xml宣告, 便可以在Manifest.xml中設定螢幕方向, 比如:
<activity android:name=".Activity"
    android:label="@string/app_name"
    android:screenOrientation="landscape">
    <!--screenOrientation為固定畫面的方向-->
    <!--參數為 landscape為橫向 portrait為直向 nosensor為關閉重力感應器-->
</activity>

但若想要固定螢幕方向的類別不是extends Activity, 就要將設定寫在.java裡了, 比如:
DialogFragment extends DialogFragment{
    Activity activity;
 
    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        this.activity = activity;
        // 在此頁面一開啟一定會被執行到的地方, 設定此頁面為直向
        activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }

    @Override
    public void onStop() {
        super.onStop();
        // 離開此頁面時, 旋轉功能要恢復正常
        activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
    }  
}

沒有留言:

張貼留言