0

ランドスケープモードで実行するアプリがあります。常に横向きモードになっているはずですが、Kindle Fire HDで縦に持って起動すると、アプリは一時的に縦向きモードで表示しようとします。これは多くの悲しみを引き起こします。この簡単なポートレート動作は、私の電話やKindleFireHDエミュレーターでは発生しません。

これを防ぐ方法はありますか?

私のマニフェストファイルには次のものがあります。

    <activity
        android:name=".SplashScreen"
        android:screenOrientation="landscape"
        android:noHistory="true"
        android:configChanges="keyboardHidden|orientation|screenSize"
    >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity
        android:label="@string/app_name"
        android:screenOrientation="landscape"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:name=".MyActivity">
    </activity>

もっとやらなければならないことはありますか?

4

3 に答える 3

0

私はサムスンのタブレットと同じ向きの欠陥のある問題を抱えていて、それを解決しました

[設定]>[表示]>[水平キャリブレーション]および;

Calibrateデバイスを平らな面に置いた後、タップします。試してみると、この問題が解決する可能性があります。

重要: この設定は、Androidバージョン2.3(ジンジャーブレッド)以降にAndroidに追加されました

于 2012-12-29T07:26:20.323 に答える
0

これは問題について述べています。また、このデバイスでのみ反転される方向モードの変更を考慮してください。ありがとうございました。

于 2012-12-29T07:56:44.797 に答える
0

私自身の質問に答えて、私が見つけることができる唯一の解決策は、回避策を使用することです:

public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
    synchronized (holder) {
        Log.view("Surface changed event: width = " + width + ", height = " + height);
        if (width < height) {
            Log.view("HEY THIS IS NOT LANDSCAPE!!!!");
            return;
        }
        // do stuff
    }
}

私の経験から、kindleが高さよりも狭い幅で「landscape」アプリを起動するたびに(したがって、定義上、実際には風景ビューを提供しません)、表面を無視して待つだけで、すぐにaaが得られます実際の風景(実際の風景が表示されるように高さと幅を反転します)。

于 2012-12-30T22:46:09.297 に答える