0

TabHostにかなり大きな問題があります。向きとkeyboardHiddenを無視するようにすべてのアクティビティ(TabHostアクティビティを含む)を宣言しましたが、電話(Android 4.0)を裏返すと、アクティビティが再作成されます。

これが私のマニフェストの短縮版です。

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name" >
    <uses-library android:name="com.google.android.maps" />

    <activity
        android:name=".TabHost"
        android:configChanges="orientation|keyboardHidden"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".Activity1"
        android:configChanges="orientation|keyboardHidden"
        android:label="@string/app_name" />
    <activity
        android:name=".Activity2"
        android:configChanges="orientation|keyboardHidden"
        android:label="@string/app_name" />
    <activity
        android:name=".Activity3"
        android:configChanges="orientation|keyboardHidden"
        android:label="@string/app_name" />
</application>

活動のコードが役に立たないと思いますか?!
ただし、よろしければお知らせください。投稿します。


敬具

4

1 に答える 1

3

画面の回転を停止しようとしている場合は、AndroidManifest.xmlアクティビティごとに次のコードを使用してください。

android:screenOrientation="nosensor"

アップデート

使用時のAPIによるとandroid:configChanges="orientation|keyboardHidden"

"オリエンテーション"

画面の向きが変更されました—ユーザーがデバイスを回転させました。注:アプリケーションがAPIレベル13以上(minSdkVersion属性とtargetSdkVersion属性で宣言されている)をターゲットにしている場合は、デバイスが縦向きと横向きを切り替えるときにも変更されるため、「screenSize」構成も宣言する必要があります。

したがって、APIレベル13以上をターゲットにしている場合は、画面サイズも指定する必要があります。

于 2012-04-02T12:58:09.590 に答える