0

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>
4

2 に答える 2

0

onConfigChanges で手動で行う必要はありません... レイアウトと同じレベルに layout-land というライブラリを追加し、そこに横向きモードのレイアウト ファイルを配置します。Android が自動的にそれを行います。

ここを読む: http://developer.android.com/guide/topics/resources/providing-resources.html

于 2011-08-27T14:39:05.700 に答える
0

マニフェストのアクティビティ タグに orientation=portrait を追加しましたか?

于 2011-08-27T14:18:50.123 に答える