Android Tabhost,切换方向重新加载很慢

时间:2011-07-01 23:17:37

标签: android keyboard landscape android-tabhost tabview

我有一个处于纵向模式的应用,但有些屏幕应该为带有物理键盘的手机设置横向模式。

我正在使用tabhost,我注意到当我允许强制方向更改时,它会重新加载每个选项卡并且有点慢。

是否有办法允许强制方向更改(例如仅在弹出硬键盘时)并且仅将该视图重新加载为横向模式?我希望这样做而不会重新加载所有活动。我的tabhost当前将循环浏览方向更改的每个活动。我知道这与在方向改变时重新绘制“活着”活动有关,但是tabhost只是放大了重绘。

需要可选横向模式的活动也需要在tabview中运行。

洞察力赞赏

1 个答案:

答案 0 :(得分:2)

您可以通过自行处理方向更改来防止活动被破坏。

编辑您的Manifest活动:

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

然后在您的活动中覆盖:

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

但是你必须知道重新启动用于为每个方向加载特殊资源,如果你实际上没有处理更改,你可能会产生奇怪的效果。有重新加载的原因。