2016-07-22 8 views
1

Wie der Titel schon sagt, arbeitet alsReverse-Porträt nicht in android

Aufruf

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);

oder im Manifest

erklärt
android:screenOrientation="reversePortrait" 

wird der Bildschirm überhaupt nicht drehen. Wenn ich versuche, die umgekehrte Landschaft zu verwenden, funktioniert es gut. Dies macht keinen Sinn. Habe ich etwas falsch gemacht? Danke im Voraus.

Antwort

1

Versuchen Sie diesen Code.

public class MainActivity extends AppCompatActivity { 

    @Override protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     Settings.System.putInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0);// turn off rotation according to accelerometer 
     Settings.System.putInt(getContentResolver(), Settings.System.USER_ROTATION, Surface.ROTATION_180);//reverse portrait 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
     Settings.System.putInt(getContentResolver(), Settings.System.USER_ROTATION, Surface.ROTATION_0);//portrait 
     Settings.System.putInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 1);//turn on rotation according to accelerometer 
    } 
} 

Vergessen Sie nicht die Erlaubnis ehrfürchtige AndroidManifest.xml

<uses-permission android:name="android.permission.WRITE_SETTINGS"/> 
+0

zu addieren! Es klappt. – philip