- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在尝试为状态栏添加颜色时发现了影响相对布局高度的问题。
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/
这是我的 xml 文件: 现在在我的代码中我想改变窗口的背景颜色,我是这样做的: ListView listview = (ListView) findViewById(android.R.i
我制作了一个名为 ActionButton 的自定义按钮,我正在尝试获取对平行 View 层次结构中的另一个 View 的引用。我想过使用 findViewById(int id),但我一直收到 Nu
我在尝试为状态栏添加颜色时发现了影响相对布局高度的问题。 adding Flag影响相对布局 rootView 高度的计算。 private void changeStatusBarColor(){
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
为什么在 onPause 或 onStop 中调用 findViewById(android.R.id.content).getRootView() 返回 NPE 而在 onCreate 中调用时却没
我收到这个错误, "Attempt to invoke virtual method 'android.view.View android.view.View.getRootView()' on a
我是一名优秀的程序员,十分优秀!