2012-05-04 5 views
3

私は約15の活動で自分のアプリケーションを持っています。今私は回転からアクティビティを防ぐ方法、つまりonConfigurationChanged()メソッドをオーバーライドし、xmlで定義する方法を知っています。すべての活動画面がアンドロイドで回転するのを防ぐ方法

私は約15-20のアクティビティを持っているので、それぞれのアクティビティをオーバーライドするのはベストプラクティスではありません。だからこれを行うための他の方法があります。

+0

向きを修正しますか?ポートレートとランドスケープのどちらかに制限しますか?それはあなたがしたいことですか? – Ghost

+0

これはポートレートでなければなりません – NullPointerException

+0

私の答えをさらに参考にすることができます。 – Ghost

答えて

3

あなたがマニフェストにこれを追加することができます。あなたが制限したい各アクティビティの

android:screenOrientation="portrait" 

を。 「ランドスケープ」にも対応しています。

+0

しかし、私が言っているのは、それぞれというタグを書く必要があるということです。だから、私は何か他の方法で質問しています。 – NullPointerException

0

はあなたのマニフェストにこれを追加します。

<activity android:screenOrientation="portrait"></activity> 
3

チェックthisを。オリエンテーションを制限する場合は、マニフェストファイルのactivityタグ内のこの属性が不思議になります。さらに参考のため、以下では非常に重要です:

注:あなたは風景やポートレートの値のいずれかを宣言すると、それは アクティビティが実行されるオリエンテーションのためのハード要件を検討しています。したがって、宣言した値により、Google Playなどのサービスで のフィルタリングが有効になりますので、ご利用のアプリケーションでは、アクティビティに必要な方向をサポートする のデバイスにしか利用できません。 の場合、「landscape」、「reverseLandscape」、または 「sensorLandscape」のいずれかを宣言すると、アプリは横向きをサポートするデバイス にのみ利用できます。ただし、 には、アプリケーションで縦または 横向きのいずれかが<uses-feature>要素であることが明示的に宣言されている必要があります。たとえば、 <uses-feature android:name="android.hardware.screen.portrait"/>です。この は、Google Play(およびそれをサポートするその他の サービス)によって提供される純粋なフィルタリング動作であり、プラットフォームによっては 方向のみをサポートしている場合にアプリをインストールできるかどうかを制御しません。

これは開発者のウェブサイト自体で提供されている仕様です。あなたが唯一の縦向きで実行するアプリケーションを制限している場合したがって、また、単にactivityタグの前に、あなたのマニフェストに以下のタグを使用することをお勧めします。

<uses-feature android:name="android.hardware.screen.portrait"/> 
2

提供マニフェストエントリ@Stuartがありますあなたの特定の例では最高のオプションです。

一般的に、すべてのアクティビティのコードを繰り返さないようにするため、Android Activityを拡張し、onCreate()に必要な初期化を実行する独自のクラスを定義します。それから私の活動のそれぞれは、Android提供のアクティビティではなく、自分のエクステンションを拡張します。

+0

これは私がそれを考えてhavnt ..良いもの – NullPointerException

関連する問題