Поворот экрана

Я писал очень простое приложение на Android с поворотом экрана. Я хотел бы «починить» этот код, потому что экран не вращается.

Я добавляю код в манифест:

android:configChanges="orientation|keyboardHidden">

Остальной код:

package com.example;

import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;

public class ScreenOrientationActivity extends Activity {

      public void onSavedInstanceState(Bundle savedInstanceState){
        super.onSaveInstanceState(savedInstanceState);
      }

      public void onConfigurationChanged(Configuration config){
          super.onConfigurationChanged(config);
          if(config.orientation==Configuration.ORIENTATION_LANDSCAPE){
    setContentView(R.layout.landscape);
          }

          if(config.orientation==Configuration.ORIENTATION_PORTRAIT){
  setContentView(R.layout.main);
          }
      }

      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);


      }
        public void onRestoreInstanceState(Bundle savedInstanceState){
            super.onRestoreInstanceState(savedInstanceState);

        }   
}
**EDIT:**

В моем полном manifest.xml нет строки android:screenOrientation=portrait:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example"
      android:versionCode="1"
      android:versionName="1.0"
       android:configChanges="orientation|keyboardHidden">
    <uses-sdk android:minSdkVersion="10" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".ScreenOrientationActivity"
                  android:label="@string/app_name"
                  android:configChanges="orientation">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

person user902691    schedule 27.08.2011    source источник
comment
Вот как отключить наземное пространство thegeekyland.blogspot.com/2014/06/   -  person Arlind    schedule 04.12.2015


Ответы (2)


Вы добавили ориентацию = портрет в тег активности вашего манифеста?

person Mohammed Azharuddin Shaikh    schedule 27.08.2011

Вам не нужно делать это вручную в onConfigChanges... Просто добавьте библиотеку с именем: layout-land на том же уровне, что и макет, и поместите туда файлы макета для ландшафтного режима. Android сделает это автоматически за вас.

Читайте здесь: http://developer.android.com/guide/topics/resources/providing-resources.html

person IncrediApp    schedule 27.08.2011