2010-08-13 2 views
4

나는 클릭 할 때 아이콘 위의 PopupWindow를 보여주는 클릭 가능한 아이콘을지도에 표시합니다. 그러나 아이콘이지도의 맨 위에 있으면 Android 상태 표시 줄에 PopupWindow가 숨겨집니다. PopupWindow는 화면의 오른쪽 및 왼쪽 가장자리와 위쪽 가장자리에 자동으로 조정되지만 상태 막대 패널은 고려하지 않습니다.MapView 높이를 Android 상태 표시 줄로 고려하는 방법은 무엇입니까?

MapView의 높이 또는 상태 표시 줄을 고려하는 PopupWindow의 특성을 조정할 수있는 방법이 있어야합니다. 물론 고정 된 크기의 상단 여백을 추가 할 수는 있지만 상단 패널의 Android 기기마다 높이가 다릅니다.

아무도 도와 드릴 수 있습니까? 감사합니다.

+1

아니 진정한 해결책하지만 아이디어 : 당신이 팝업을 표시하기 전에 클릭 한 일에지도의 중심을 수 있습니다. 그게 당신 문제를 해결할 수 있을까요? – Sephy

+0

저는 dip에서 측정했을 때 모든 장치에서 상태 표시 줄의 크기가 같지 않다고 생각하고 있습니다. –

+0

나는 사용자가 성가신 것을 발견 할 수 있기 때문에지도의 중심을 바꾸고 싶지 않다. 그러나 그 아이디어에 감사드립니다. 안드로이드 상태 표시 줄의 크기는이 게시물에 따라 다릅니다. http://stackoverflow.com/questions/3407256/height-of-status-bar-in-android – Vanja

답변

1

여전히 안타깝게도 Android 상태 표시 줄로 MapView 높이를 조정하는 방법을 찾지 못했습니다.

그러나 PopupWindow의 경우 Android 상태 표시 줄의 높이를 알고 있으면 코더로 화면에 표시되기 때문에 충분합니다. 코더는이 문제를 해결하기 위해 자신의 전략을 세울 수 있습니다.

은 다른 포스트에 따르면,이 그것을 할 수있는 방법입니다 :

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

그러나, 그렇지 않으면 0이됩니다 이후의 모든 윈도우 구성 요소가 초기화 될 때까지이 계산을하지 않도록주의하십시오. 그것은 쉽게 알아 차리고 수선됩니다.

BR, 반자

관련 문제