1

タブレット用の描画アプリを作成していますが、画面の向きの変更に関連して描画キャンバスを最適に処理する方法に興味があります。描画プログラムはユーザー入力を追跡し、X、Y 座標で固定されたベクトルとして保存します。

この問題は、縦向き/横向きモードで X、Y のサイズが異なることに関連しています。ユーザーが画面全体を占めるキャンバス (通知とタイトル バーを除く) を持っていて、ポートレート モードでキャンバスの下部近く (320x480 画面のポイント 140,460 など) に描画すると、画面が横向きに反転されてから再作成されます。保存した X、Y ベクトルでは、140,460 の点が画面の境界から外れています (画面が 480x320 になったため)。同様に、画面の右端近くに横向きにポイントを描画し、縦向きに戻すと、それらのポイントは範囲外になります。

私はこれに対する解決策を見回しましたが、明らかな解決策は、画面を特定の向きにロックすることです。Marketplace からダウンロードした多くの描画アプリは、この方法で処理します。

これをタブレット用に設計しているので、ユーザーが好きなように描画できる柔軟性を提供したいと思いますが、画面の境界などに関してはある程度の正気を維持したいと考えています.

私が持っていた/試したアイデアは次のとおりです。

  • 特定の方向へのロック - わかりましたが、ユーザーに特定の設定を強制するのは嫌いです
  • 特定の向きにロックし、タイトル バーと通知バーを非表示にすることで、ユーザーが望むように使用できる大きな空白のキャンバスが表示されるだけですが、通知バーが非表示になるのは嫌です。

タイトルバーを非表示にし、通知を表示し、向きを変更できるようにし、画面が横向きに回転するとキャンバスを縦向きに戻す可能性を考えましたが、ナビゲーションバーが縦向きの上部から横向きの右側でも、同じ X、Y 境界の問題が発生しますが、程度ははるかに小さくなります (通知バーの幅は事実上)。

これに対する解決策について何か考えはありますか?

ありがとう。

4

1 に答える 1

0

スクロール/パンを実装し、描画面を親ビューの寸法よりも任意に大きくします。デバイスが縦向きか横向きかは関係ありません。描画面の特定の部分でウィンドウとして機能するビューを作成するだけです。

于 2011-01-28T18:52:44.937 に答える