1

限られた英語でできる限りこれを説明しようと思います!

わかりました、携帯電話では縦向きモードになり、タブレットでは横向きになるアプリを作成しています。私はこれを、基本的に言うよりも最初に表示サイズを計算することで行います"if display size is more than 5 inches, consider this device to be a tablet".

これはうまくいきます。FlashDevelop で Adob​​e Flash CS6 を使用しているため、アプリケーションの起動時にデフォルトでポートレート モードを使用しています。デバイスがタブレットの場合、stage.setAspectRatio(StageAspectRatio.LANDSCAPE);でアスペクト比を変更します。

これもうまくいきます。ここでの問題は、stage.stageWidth の値が新しいアスペクト比に変更されないことです。これは、幅に stage.stageHeight を使用するだけで簡単に修正できます。ただし、ハニカム/ics タブレット/デバイスのシステム バーは変更されません。

下手な説明で申し訳ありませんが、いくつかの数字をお見せしましょう...

これは、タブレットでアプリケーションを起動したときに起こることです。

  1. アプリケーションはポートレートで始まります。高さ = 1232 幅 = 800 です。ご覧のとおり、ディスプレイの解像度は 1280x720 である必要がありますが、コマンドを介してシステムバーの高さを取得する方法はありません。解像度を返すすべてのものをテストしましたが、フル解像度 (1280x720) を返すものはありません。

  2. ここで、アプリケーションは横向きになり (タブレットであるため)、解像度は高さ 800、幅 1232 になります。

ご想像のとおり、これは間違っています。システムバーが一番下にあるためです。解像度は、高さ: 752、幅 1280 である必要があります。


解決策はありますか?基本的に systembar * がどうあるべきかを計算する回避策を考えています。しかし、それを始める前に、これを解決する方法があるかどうか知りたい. *

4

1 に答える 1