我怎样才能得到没有状态栏的屏幕高度(像素)&操作栏或者如果任何机构告诉如何获得状态栏和操作栏的高度,我也会有所帮助。我已经找到了屏幕高度,但它包括状态栏的操作栏&。我使用支持库v7的行动bar.I在网上搜索,但这些解决方案不适合我。如何获得没有状态栏和操作栏的屏幕高度(像素)?
回答
GET状态条的高度,你可以喜欢:
Rect rectangle = new Rect();
Window window = activity.getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rectangle);
int statusBarTop = rectangle.top;
int contentViewTop = window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
int statusbarHeight = Math.abs(statusBarTop - contentViewTop);
和什么有关行动吧,actionbarsherlock有常数值为:abs__action_bar_default_height。也许你应该尝试在支持库中找到那样的动作吧
p.s.无论如何,由于您知道状态栏高度,因此您可以通过减去活动的主布局屏幕X值和状态栏高度值来获取操作栏高度。它看起来是这样的:
mMainLayout.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect rectangle = new Rect();
Window window = getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rectangle);
int statusBarHeight = rectangle.top;
int contentViewTop = window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
int statusbarHeight = Math.abs(statusBarHeight - contentViewTop);
int[] location = {0,0};
mMainLayout.getLocationOnScreen(location);
int actionbarheight = Math.abs(location[0] -statusBarHeight);
Toast.makeText(MainActivity.this, actionbarheight + "", 1).show();
}
});
这是写在“飞”,只是给你一个想法如何做到这一点。
我使用支持库v7 appcompat显示操作栏。感谢您的回复 – user3302257
在这里“contentViewTop”状态栏和操作栏的总高度? – user3302257
否,contentViewTop是活动屏幕的顶部(带有操作栏,但没有状态栏) – OFFmind
- 1. 没有状态栏,动作条和标签的屏幕高度
- 2. 如何获得屏幕高度减去操作栏?
- 3. Phonegap获取工作区的屏幕高度(屏幕减去状态栏)
- 4. 如何获取状态栏和软键按钮栏的高度?
- 5. 如何获取操作栏和通知栏的高度
- 6. 透明操作栏和状态栏
- 7. 全屏没有导航和状态栏
- 8. 如何获得corona sdk的状态栏高度?
- 9. 如何获得第三方键盘的状态栏高度? (iOS)
- 10. 在显示状态栏之前获取高度状态栏?
- 11. 如何透明软键栏和透明状态栏的高度?
- 12. 没有状态栏和软键的Android屏幕尺寸
- 13. 状态栏的高度?
- 14. 如何修改状态栏的高度?
- 15. 状态栏高度viewDidLoad
- 16. iPhone X状态栏高度
- 17. 有状态栏的高度是100%
- 18. 如何检测双高度状态栏?
- 19. Android应用程序全屏幕,没有标题栏,也没有操作栏
- 20. viewWillTransitionToSize和错误的导航栏和状态栏框架高度
- 21. 屏幕锁定时的状态栏android
- 22. 半透明的黑色状态栏没有工具栏或操作栏
- 23. 如何去android全屏幕没有状态栏和renderMode设置为直接?
- 24. 如何使用透明状态栏获取全屏幕背景?
- 25. 以编程方式进行屏幕截图,没有状态栏
- 26. BlackBerry - 状态栏重叠屏幕
- 27. 如何获得实际屏幕高度?
- 28. 如何在状态栏高度变化时得到通知?
- 29. 如何设置默认操作栏的高度和宽度?
- 30. 没有空间的小屏幕宽度的操作栏溢出菜单项
使用DisplayMetrics类获取宽度和高度。 – Loganathan
我已经使用此课程并能够找到整个屏幕高度,包括状态栏和操作栏。请让我知道如何得到没有状态栏和操作栏的屏幕高度。感谢 – user3302257