2011-09-15 10 views
1

私はブラックベリーでフィールドをレイアウトしようとしていましたが、私はそれが動作していると思うときに別のシミュレータを試して、フィールドの配置が異なっています。フィールドを正しくレイアウトする方法

私がsetPositionChild(field, 0, 100);と呼んだ場合、すべての電話の解像度で というフィールドがx = 0、y = 100の位置に配置されることが予想されます。これはそうではありません。

setPositionChildのRIMドキュメントを読むと、yパラメータは - "y - そのマネージャのフィールドの先頭のオフセット"です。 field.getTopによって返されるyオフセットは一貫して0なので、positionは画面全体で一貫している必要がありますか?たぶん、setpositionChildのしくみの良い説明があれば十分でしょう。

ありがとうございます。

+2

レイアウトは、マネージャとその子にあるいくつかのメソッドの複雑な相互作用の結果です。コードを見ることができれば役に立つかもしれません。 – Richard

+0

また、ほとんどすべての異なるBlackBerryモデルは、ディスプレイの高さと幅とドットピッチが異なります。そのため、固定ではなく相対的なサイズ/位置を使用する可能性が高くなります。たとえば、ボタンが画面の半分を占める場合、静的な値(例:160ピクセル)ではなく、幅を 'Display.getWidth()/ 2'に設定する必要があります。ユーザーがポートレート/ランドスケープの間でデバイスを回転させると、レイアウトを変更する必要があります。 –

+0

このページには、最近のデバイスの一部のBBデバイス画面の詳細が掲載されています。http://docs.blackberry。 com/en/developers/deliverables/28627/Designing_for_different_BB_devices_software_6_1_1514767_11.jsp?CPID = TWDresolution081211 –

答えて

0

あなたの可変結果がMainScreenの延長であると思われます。そのクラスには、0,100を他のものにオフセットするセパレータなどが含まれています。

VerticalFieldManager メインスクリーンのサブレイヤードを上書きし、その幅と高さをディスプレイのフルサイズに設定してください。

関連する問題