2012-02-14 11 views
7

私はこれに基づいて多くの質問をチェックしましたが、それでもアプリを介して画面の向きをランドスケープにロックする方法を取得できません。 ?アンドロイドの向きをアプリ全体に固定しますか?

<activity android:screenOrientation="landscape" 
     android:name=".BasicLayoutCheckActivity" 
     /> 

これは私のために働いていない、それは別のアクティビティが別のアクティビティとはどういう意味ですか

+0

何か? – WarrenFaith

答えて

10

マニフェストでは、screenOrientationをlandscape for all the activitiesに設定できます。 one activityのために配置したので、他の活動はポートレートで開きますので、fixingの場合は最初の活動としてall your activities with orientationを設定してください。 それはXMLで次のようになります。

<activity android:name=".BasicLayoutCheckActivity" android:screenOrientation="landscape"></activity> 
0

を使用している場合potraitために戻ってきますか?設定はアクティビティごとです。アプリケーションに3つのアクティビティがある場合、それぞれをランドスケープとして指定する必要があります。

1

配向性は、アプリケーションのすべての個々の活動に設定する必要があります。

4

またonCreate()方法で次のように使用することができます。

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

ご挨拶!

+0

これは、基本クラスでこれを1回だけ使用して、アプリケーション全体で使用できるので、これがより効果的です。マニフェストの各アクティビティにxmlタグを追加するのは、醜いエラーが発生しやすいソリューションです。私は、なぜAndroidがまだアプリ全体でオリエンテーションを設定するために1つのタグを導入していないのだろうと思う。 – zeeshan

3

ねえアクティビティ内androidmanifestファイルでは、これをチェックアウトするには、(使用している場合)を使用すると、カスタムアプリケーションクラスでの活動のライフサイクルコールバックを登録することができ、すべての活動のためにこれを行うことを避けるために

<activity 
android:screenOrientation="landscape" 
android:configChanges="keyboard|keyboardHidden|orientation"> 
+0

あなたの問題を解決しましたか? – Goofy

0

をそれを追加します。なぜ、他の活動にそれを追加しないような...

public class MyApplication extends Application { 

    @Override 
    public void onCreate() { 
     super.onCreate(); 

     //Lock orientation in landscape for all activities, yaay! 
     registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() { 
      @Override 
      public void onActivityCreated(Activity activity, Bundle savedInstanceState) { 
       activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);     
      } 

      @Override 
      public void onActivityStarted(Activity activity) { 

      } 

      @Override 
      public void onActivityResumed(Activity activity) { 

      } 

      @Override 
      public void onActivityPaused(Activity activity) { 

      } 

      @Override 
      public void onActivityStopped(Activity activity) { 

      } 

      @Override 
      public void onActivitySaveInstanceState(Activity activity, Bundle outState) { 

      } 

      @Override 
      public void onActivityDestroyed(Activity activity) { 

      } 
     }); 
    } 
} 
関連する問題