Вращение экрана - PullRequest
       7

Вращение экрана

0 голосов
/ 27 августа 2011

Я писал очень простое приложение в 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>

Ответы [ 2 ]

0 голосов
/ 27 августа 2011

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

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

0 голосов
/ 27 августа 2011

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

...