2011-07-21 6 views
0

1)マネージャに置かれたフィールドは、そのマネージャの位置が固定されています。スクロールが使用されているときに表示される画面内のフィールドの座標を取得する方法は? (ブラックベリー、BB、Java)

2)ユーザーが画面をスクロールすると、フィールドが表示された画面に沿って移動しています(ただし、マネージャー内の位置は固定されています)。

ユーザーがビューをスクロールしてフィールドにフォーカスを設定したときに、これらのフィールドの可視画面座標を取得する方法はありますか?

P.S.それらは「絶対座標」と呼ばれるかもしれません

ありがとう!

答えて

1

お手伝いができるかどうかわかりません。 getFocusRect(XYRect xyrect)を見ましたか?子フィールドがフォーカスを取得すると、マネージャのフォーカス領域の範囲を取得します。 APIは

getFocusRect

ます。public void getFocusRect(XYRect四角形) は、フォーカスの現在のエクステントを取得することを言います。 このメソッドを呼び出して、現在のフォーカス領域の範囲を取得します。表示された座標はこのマネージャにとってローカルであり、スクロールすることを考慮に入れてください(、つまり座標はマネージャの可視領域ではなく、仮想領域である)。

オーバーライド: フィールドのgetFocusRect パラメータ: rect - フォーカスの範囲を含むRectです。

http://www.blackberry.com/developers/docs/5.0.0api/net/rim/device/api/ui/Manager.html#getFocusRect(net.rim.device.api.ui.XYRect

1

見出さ溶液:

XYRect rc = new XYRect(0,0,1,1); 
_myField.getScreen().getFocusRect(rc); 
関連する問題