Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 确定状态栏是在顶部还是底部?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图找出如何告诉状态栏的位置(顶部或底部).我试图检查HierarchyViewer但没有看到状态栏视图.

实际上,我需要弄清楚的是,给定一个上下文,一种返回布尔值的方法(如果条形图在顶部则为true,如果不在条形图则为falsE) – 就像它不在大多数平板电脑上一样.我写了一个简单的解决方案,试图找出状态栏位于顶部或底部,但它似乎没有帮助:

@H_262_4@private Boolean isStatusBarAtTop(){ if (!(getCo@R_616_10443@t() instanceof Activity)) { return !getCo@R_616_10443@t().getresources().getBoolean(R.bool.isTablet); } Window window = ((Activity) getCo@R_616_10443@t()).getWindow(); if(window == null) { return !getCo@R_616_10443@t().getresources().getBoolean(R.bool.isTablet); } Activity activity = (Activity)getCo@R_616_10443@t(); Rect rect = new Rect(); window.getDecorView().getWindowVisibleDisplayFrame(rect); View ourView = window.findViewById(Window.ID_ANDROID_CONTENT); Log.d("Menu","Window Top: "+ ourView.getTop() + ","+ourView.getBottom()+ ","+ourView.getLeft()+","+ourView.getright()); Log.d("Menu","Decor View Dimensions"+rect.flattenToString()); return ourView.getTop() != 0; }

由于某种原因,我得到以下输出(在Nexus 7平板电脑上运行):

@H_262_4@D/Menu(1007): Window Top: 0,0 D/Menu(1007): Decor View Dimensions0 0 800 1216

我在想什么/做错了什么?

@H_197_12@

解决方法

这是唯一对我有用的方法.以下方法返回顶部状态栏的高度.因此,如果@R_262_11258@返回值等于0,则窗口顶部没有状态栏. @H_262_4@public static int getTopStatusBarHeight(Activity activity) { Rect rect = new Rect(); activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect); return rect.top; } @H_197_12@ @H_197_12@

大佬总结

以上是大佬教程为你收集整理的android – 确定状态栏是在顶部还是底部?全部内容,希望文章能够帮你解决android – 确定状态栏是在顶部还是底部?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。