【问题标题】:Height of title bar from a Live Wallpaper动态壁纸中标题栏的高度
【发布时间】:2023-03-29 15:06:02
【问题描述】:

我知道如何从 android 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()。

谢谢。

【问题讨论】:

    标签: android height live-wallpaper titlebar


    【解决方案1】:

    我看不到直接从服务中找到 getWindow() 的方法。作为一种解决方法,您可以创建一个透明的活动,只需获取条形高度并自行完成。您可以在首次创建引擎服务时启动此活动。这不是理想的,但应该可以正常工作。

    【讨论】:

    • 它不是很漂亮,但它确实有效。只是一个评论:代码不应该直接在透明活动的 onCreate 方法中,而是在一个 Runable 中调用,但有一点延迟(我肯定选择了一秒)。如果状态和标题栏不返回 0。
    • 嗯,有趣.. 你是否尝试在 onResume 上调用它而不是使用 Runnable?
    • 在 onResume 中我有与 onCreate 方法相同的问题。我发现了延迟技巧here
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多