2012-02-28 5 views
2

私のアプリが縦向きと横向きの両方に対応するように調整したいと思います。私はsublayout()を使用して向きが変わっているかどうかを確認します。はいの場合はすべてのフィールドを削除してから、すべてのフィールドを再度追加します。したがって、新しい表示幅のすべてのフィールドが適切にレイアウトされます。私はこのソリューションが気に入らないので、フィールドを適切にレイアウトするための洗練されたソリューションがあるかどうかは疑問でした。フィールドの向きの変更を処理する

+0

IMHOでは、マネージャとアラインメントフラグを使用すると、ほとんど何もする必要はありません。間違いなくそれらを削除し、フィールドを再度追加しないでください。 – mrvincenzo

+0

カスタムフィールドのサイズを変更するには? – user1121332

答えて

2
Display.getHeight()をスケーリング経由 Display.getWidthgetPreferedHeight()スケーリングを経由して、カスタムフィールド getPreferedWidth()をオーバーライドして、メソッド本体の内部 paint(Graphics g)使用 getPreferedWidth()getPreferedHeight()をオーバーライドする場合

0

私たちは画面の向きを変更するときsublayout()メソッドは、現在の画面のために呼び出されます。あなたがオリエンテーションを変更すると、すべてのフィールドを削除しないでください。どんなフィールドでもDelete/Addを管理するのは複雑になります。 Display.getwidth() &を参考に動的に画面レイアウトを管理し、背景のサイズを変更しないでくださいScreenの画像

関連する問題