2012-05-08 21 views
3

私はキャンバスを持っており、向きが変更されると再描画されます。アンドロイドではないカスタムキャンバスです。向き変更中にアプリが再起動しないようにする

画面レイアウトが変更されると、アプリケーションの状態と(すべてのビューの状態)リセットされます。私は、画面の向きをポートレートのみに変更しました。画面レイアウトは変更されませんが、アプリケーションは再びリセットされます。

ドキュメントを確認したところ、方向変更が発生したときにアクティビティが破棄され、再開されました。 Savestate()はビットマップデータやカスタムキャンバスに必要な大きなデータを保存して読み込むことはできません。

私はもう一度文書をチェックし、特定の構成変更が発生したときに呼び出されるonConfigurationChanged()を記述した実行時の変更の処理に関するトピックを見つけました。私の場合は「向き」です。この方法は再起動を防ぎ、構成変更の実装方法を開発者に任せます。最後の段落でも、私がそのメソッドを実装しない場合、これはアクティビティにonRestart()をスキップさせ、何もしないことになります。マニフェストファイルを

android:screenOrientation="portrait" 
android:configChanges="orientation" 

として設定しています。これはonConfigurationChanged()を実装していません。しかし、これはどちらも役に立たない。どうしてか分かりません。それは私にとってとても役に立つようでした。

もしあれば解決策を投稿してください。 また、アプリには時間がかかりますが、向きを変更するとアプリが再起動しないようにしたいと思います。実際には、私はこれが起こったとき何もしたくない。 私もエミュレータを使用していますので、エミュレータのみの問題かどうかを明確にしてください。

P.S.私のインターネット接続がダウンして、私は私の愚かなモバイルクライアントを使用しています。 私はオフラインのドキュメントをチェックしました。そしてスペリングのために私と一緒に抱きしめてください。私は解決策を見つけようとしていますが、現在私は執行停止しています。

+1

http://stackoverflow.com/questions/456211/activity-restart-on-rotation-androidの可能性のある団体 – superM

+0

ありがとう、私のインターネットがダウンしていないかどうかをチェックしたでしょう。 –

+0

あなたはいつもお世話になった最初の人です。))嬉しいことに助けてくれました。 – superM

答えて

7

あなたの中に使用これはAndroidManifestの各アクティビティに対して

<activity 
      android:name="MyActivity" 
      android:configChanges="orientation|keyboard|keyboardHidden" 
      android:screenOrientation="sensor" /> 
+0

それは解決しました、実際に私はエミュレータがアプリを再起動したキーボードを表示していた問題だと思います。私はキーボードの値も入れておくべきだった。愚かなエミュレータ。 –

+0

私はそれを私のモバイルクライアントからの回答としてマークすることができません。できるだけ早くそれをマークします。 –

+0

確かに、あなたは好きですか? – Arslan

0

をAndroidMenifest.xml、screenOrientationを指定することができます。以下screenOrientation =「ポートレート」同様

は、風景モードを使用して指定することができる。

アンドロイド:たとえば、アクティビティは常に縦長モードに留まることを指定する、 アクティビティ要素に追加することができ、以下の:

アンドロイド:screenOrientation =「風景」

しかし、以前は、まだ硬い キーボードがout.Thereforeスライドさせると活性が破壊され、再起動させる、第三の方法が可能である:Androidシステムに教えますそれは01オリエンテーションとキーボードスライドアウトevents.Thisを処理する必要がありアプリケーションは、アクティビティ要素に次の属性を追加すること によって行われます: アンドロイド:configChanges =「オリエンテーション| keyboardHidden」

1

書き込みマニフェストでこのコード:

android:configChanges="orientation|screenSize|keyboardHidden" 
関連する問題