電話オリエンテーション(風景、肖像)に関してキャンバスを描く方法は?
-
29-09-2019 - |
質問
ポートレートモードには問題はありませんが、ランドスケープモードでアプリを試してみると、この問題を解決するための一般的なアプローチとは何ですか。私の最初のアイデアはXとYの場所を置き換えることです。追跡するにはどうすればいいですか? Ondraw()関数の先頭にIFステートメントを使用し、同じコードを2回2回記述する必要があります(x、y、もう1つはy、xの場合は)?
解決
図面にXおよびY座標を交換する必要はないはずです。デフォルトでは、アプリが回転している場合、座標系も同様です。
他のヒント
描画コールに絶対幅と高さを指定しているように聞こえます。たとえば、MyWidth = 480とMyHeight = 800を早期に保存し、すべての描画をこの方法で実行すると、デバイスが回転すると、それらの幅と高さが適用されなくなります。
ここでの解決策は、サイズの変更されたコールバックを聴き、それに応じて幅と高さのアイデアをリセットすることだと思います。ビューで直接描画している場合は、オーバーライドしたい view.Onsizechanged().
所属していません StackOverflow