2012-09-17 4 views
1

안드로이드 LiveWallpaper에서 제목 표시 줄의 높이를 어떻게 검색 할 수 있습니까?라이브 바탕 화면의 제목 표시 줄의 높이

나는 활동에서 그것을 할 방법을 알고 : Height of statusbar?을 :

Rect rectgle= new Rect(); 
Window window= getWindow(); 
window.getDecorView().getWindowVisibleDisplayFrame(rectgle); 
int StatusBarHeight= rectgle.top; 
int contentViewTop= 
window.findViewById(Window.ID_ANDROID_CONTENT).getTop(); 
int TitleBarHeight= contentViewTop - StatusBarHeight; 

Log.i("*** Jorgesys :: ", "StatusBar Height= " + StatusBarHeight + " , TitleBar Height = " + TitleBarHeight); 

그러나 WallpaperService.Engine에서

이, 나도 몰라 어떻게하여 GetWindow에 대한 액세스()을.

감사합니다.

답변

0

서비스에서 직접 getWindow()를 찾는 방법이 없습니다. 해결 방법은 투명한 활동을 만들 수있는 것입니다. 바로 바 높이를 얻고 마무리합니다. 처음으로 엔진 서비스를 만들 때이 액티비티를 시작할 수 있습니다. 이상적인 것은 아니지만 잘 작동해야합니다.

+0

정말 아름답지는 않지만 작동합니다. 그냥 remarque : 코드는 투명 작업의 onCreate 메소드에 직접 있지 않아야하지만 약간의 지연으로 호출되는 Runable에서 (나는 확실히 하나 seconde를 선택한다). 표시되지 않으면 상태 및 제목 표시 줄에 0을 반환합니다. – PiR

+0

흥미로운 .. 당신 Runnable 대신 onResume에서 호출하려고 했나요? –

+0

onResume에서 onCreate 메서드와 동일한 문제가 있습니다. 나는 지연 트릭을 발견했다 [여기] (http://stackoverflow.com/questions/3407256/height-of-status-bar-in-android#comment11135530_4832438) – PiR

관련 문제