3

アプリをポートレートモードに永久にロックする方法を知っています:

<activity
android:screenOrientation="portrait"
android:name=".MyActivity"></activity>

これをユーザー設定にします。つまり、ユーザーが電話全体Settings > Display > Auto-rotate screenをチェック/チェック解除するのではなく、アプリケーションに対してのみ同様のチェックボックスを設定したいと思います。

プログラムでそれを行うにはどうすればよいですか?

4

2 に答える 2

0

この回答のおかげで、次のことがわかりました。

 private void doLock(boolean locked) {
        if (locked) {
            int o = getResources().getConfiguration().orientation;
            if (o == Configuration.ORIENTATION_LANDSCAPE)
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);             
            else if (o == Configuration.ORIENTATION_PORTRAIT)
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);              
        } 
        else {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
        }
  }
于 2012-08-21T16:19:07.767 に答える
-1

これを AndroidManifest.xml で次のように指定することもできます。

 <activity 
        android:name=".activityName" 
        android:label="@string/app_name" 
        android:screenOrientation="portrait">
于 2012-08-21T01:58:30.533 に答える