2

AndroidのLiveWallpaperからタイトルバーの高さを取得するにはどうすればよいですか?

アクティビティからどのようにそれを行うか知っています:ステータスバーの高さ?

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()にアクセスする方法がわかりません。

ありがとう。

4

1 に答える 1

0

サービスから直接getWindow()を見つける方法がわかりません。回避策として、透明なアクティビティを作成することができます。バーの高さを取得して、それ自体を終了します。このアクティビティは、エンジンサービスを初めて作成するときに開始できます。これは理想的ではありませんが、正常に機能するはずです。

于 2012-09-17T21:54:32.820 に答える