4

クリックすると、アイコンのすぐ上に PopupWindow が表示されるマップ上のクリック可能なアイコンがあります。ただし、アイコンがマップの最上部にある場合、PopupWindow は Android ステータス バーの下に隠されます。PopupWindow は、画面の右端と左端、および上端に自動的に調整されますが、ステータス バー パネルは考慮されません。

MapView の高さに対応する方法、またはステータス バーを考慮した PopupWindow の属性が必要です。もちろん、固定サイズのトップ マージンを追加することは常に可能ですが、トップ パネルの高さは Android ユニットごとに異なります。

誰でもこれを手伝ってもらえますか?ありがとう!

4

1 に答える 1

1

残念なことに、MapView の高さを Android ステータス バーに合わせて調整する方法がまだ見つかりません。

ただし、PopupWindow の場合、Android ステータス バーはコーダーによって画面に配置されるため、Android ステータス バーの高さを知っていれば十分です。コーダーは、その問題について独自の戦略を立てることができます。

他の投稿によると、これはそれを行う方法です:

Rect rectgle = new Rect();
Window window = getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rectgle);
statusBarHeight = rectgle.top;

ただし、すべてのウィンドウ コンポーネントが初期化されるまで、この計算を行わないように注意してください。それ以外の場合は 0 になります。それは簡単に気づき、修正されます。

BR、ヴァンジャ

于 2010-10-26T06:40:17.937 に答える