gpt4 book ai didi

android - "FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS"影响 getRootView().getHeight()

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:40:40 28 4
gpt4 key购买 nike

我在尝试为状态栏添加颜色时发现了影响相对布局高度的问题。

adding Flag影响相对布局 rootView 高度的计算。

private void changeStatusBarColor(){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(getResources().getColor(R.color.red_e31837));
}
}

我有一个 View 树观察器,可以帮助我跟踪 rootView 的高度。

private ViewTreeObserver.OnGlobalLayoutListener keyboardLayoutListener = new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {

int heightDiff = wrapper.getRootView().getHeight() - wrapper.getHeight();
}
如果我使用 FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS

int heightDiff 等于 1920 但如果我不使用 changeStatusBarColor()int heightDiff 等于 1776(我猜是在没有操作栏和状态栏的情况下计算的)。但是为什么添加这个标志改变计算呢?提前致谢!

最佳答案

在我的案例中,问题出现在 SlidingMenu 库中。这是一个solution .

关于android - "FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS"影响 getRootView().getHeight(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29372113/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com