初めてのモバイルAIRアプリケーションを作成しました。私のiPadでは、レイアウトは暗い失敗です。 Flash Builderシミュレータで完璧に見えます。Adobe Air - モバイルの幅と高さ
私はアプリケーションがポートレートモードで自動向きなしで実行するように設定しました。 160 DPIから始まり、スケールアップします。アプリケーションが完了したら、ステージの幅と高さを取得し、これらの数値を使用して、自分のDataGridのすべてのボタンと列の幅のレイアウトを計算します。 iPadにアプリケーションをロードすると、すべてのボタンが離れすぎて広がっていて、いくつかは画面から離れています。データグリッドはすべて画面に収まるはずですが、列のうち4つが画面からはみ出しました。
これは、ポートレートモードではなく横長モードで画面の幅を計算した場合とほぼ同じです。したがって、2つの質問があります:
1)アプリケーションを縦向きにレイアウトする場合、横幅は縦向きか横向きかですか?
2)さまざまな画面の密度でモバイルデバイスにすべてをレイアウトする方法が混乱しています。アプリの幅と高さを取得し、距離と間隔をピクセル単位で設定するか、パーセンテージを使用する方が良いでしょうか?
ありがとうございました。これは残念だった。
編集: アプリケーションが完了すると、私は彼らが、その後アプリの幅と高さを取得し、自分自身をレイアウトできるように、私の残りのコンポーネントは、アプリケーションがロードされていることを知らせるためにカスタムイベントをディスパッチ適切に。 、それは私の記述ファイルで何かしなければならように私は感じ
<aspectRatio>portrait</aspectRatio>
<autoOrients>false</autoOrients>
<fullScreen>true</fullScreen>
<visible>true</visible>
<softKeyboardBehavior>pan</softKeyboardBehavior>
:、私は次の値が設定されている私のアプリケーション記述ファイルで
protected function appCreationCompleteHandler(event:FlexEvent):void {
// Dispatch an event to the rest of the application that the application is complete so that I can calculate all of my layout distances
var e:Event = new Event("appComplete", true);
dispatchEvent(e);
appWidth = stage.stageWidth;
appHeight = stage.stageHeight;
}
:私のメインアプリでは、私はこのコードを持っていますそれはシミュレータに完全にレイアウトされているだけで、デバイス上には配置されていないからです。高さの値はデバイス上で正しいように見えますが、幅のレイアウトはちょうどオフです。
私はちょっとした情報で自分の投稿を編集しました。私はアプリケーションの幅と高さをラベルコンポーネントに追跡し、1536x2048と表示しました。これは私のiPadに適しています。実際には160DPIに基づいて何も計算しません。これは、AIRモバイルプロジェクトを設定するときに選択した値です。スケーリングは自動的に行われます。ステージの幅と高さに基づいてすべてを計算しますが、これは正しいと思われます。私はそれが私が気づいていない記述子ファイルの基本的な設定であると感じます。なぜなら、数学はすべて私が現在持っている情報に基づいてチェックアウトするからです。 – sax