1

縦向きモードのアプリがありますが、一部の画面は、物理キーボードを備えた電話用に横向きモードにする必要があります。

私は tabhost を使用していますが、強制的な向きの変更を許可すると、すべてのタブがリロードされ、少し遅いことに気付きました。

強制的な向きの変更 (ハード キーボードが飛び出したときのみなど) を許可し、そのビューのみを再読み込みして横向きモードにする方法はありますか? すべてのアクティビティをリロードするのに遅れることなくこれを行いたいです。私のタブホストは現在、向きの変更に関するすべてのアクティビティを循環します。これは、向きの変更時に「生きている」アクティビティを再描画することに関係があることは知っていますが、タブホストはその再描画を拡大するだけです。

オプションのランドスケープ モードを必要とするアクティビティも、タブビュー内で実行する必要があります。

洞察力に感謝

4

1 に答える 1

2

向きの変更を自分で処理することで、Activity が破棄されるのを防ぎます。

マニフェストのアクティビティを編集します。

<activity  android:name=".MyActivity" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden" /> 

次に、アクティビティでオーバーライドします。

       @Override 
       public void onConfigurationChanged(Configuration newConfig) { 
         //ignore orientation change 
         super.onConfigurationChanged(newConfig); 
       }

ただし、再起動は、実際に変更を処理しないと奇妙な影響を与える可能性がある各方向の特別なリソースをロードするために使用されることを知っておく必要があります。リロードには理由があります。

于 2011-07-01T23:55:22.563 に答える