私は、ユーザーが画像(間取り図など)をアップロードしたり、部屋をタップしたり、照明を制御したりするなど、さまざまなことを実行できるホームオートメーションアプリに取り組んでいます。ユーザーがカラーマップを使用して作成する2番目の画像。私は今、画像がデバイスと同じ解像度でなければならないように設定しているので、スケーリングを処理する必要はありません。また、自動回転を無効にして、デバイスを縦向きに回転させたときに風景写真がつぶれる心配がないようにします。言い換えれば、私はそれに対処するにはあまりにも怠惰でした。このアプローチの問題は、(画面を横向きで表示しているときに)表示されるダイアログが横向きではなく縦向きモードで表示されることです。だから私の質問は、自動回転に従わない画像を画面に表示する方法はありますが、ダイアログは自動回転に追従しますか?それとも、画像の自動回転にも対処するための正しい解決策ですか?フロアプランの図面のほとんどは横向きに適しているため、私にできることの1つは、回転を横向きモードに修正することだと思いますが、誰かが縦向きの画像を必要としている場合はどうでしょうか。
質問する
589 次
1 に答える
0
私の(そうではない)謙虚な意見では、あなたは非常に正当な理由なしに向きを修正して私を許すべきではありませんが、「私は怠惰です」は正当な理由ではありません;)
利用できるオプションがいくつかあります。
何もせずに、ImageviewのscaleTypeプロパティを設定すると、比率を変更せずにスケーリングされた画像を読み込むことができます。次に、onConfgurationChangedコールバックをオーバーライドし、画像の向きに応じて、scaleTypeをアプリに適したものに設定できます(幅>高さを確認してください)。
または、アプリの比率を測定し、画像を表示しているときに向きを縦向きまたは横向きに設定し、ユーザーが画像表示アクティビティを閉じたときに現在のデバイスの向きに切り替えることができます。
ユーザーはより幸せになり、よりエレガントで、よりサポートしやすく、より満足のいくコードになります。
私の経験によれば、この種のことを前もって行うのに時間をかけないと、最終的にはより多くの作業や苦痛が生じることになります。
あなた自身(そしてあなたのユーザー)に賛成して、それを正しくしてください...
于 2012-04-12T19:25:25.760 に答える