在Android中,如何获取应用程序窗口的大小?我不是在寻找物理屏幕大小,而是在屏幕上显示应用程序窗口的实际大小。例如。一般是在拿走通知栏,软触摸按钮等之后留下的东西。如何获取android应用程序窗口的大小而不是物理屏幕大小?
9
A
回答
10
如果您想要应用程序窗口的大小,可以调用yourview.getHeight()和yourview.getWidth();但必须为此而努力。
如果你想获得高度它的绘制之前,你可以这样做:
https://stackoverflow.com/a/10134260/1851478
有很多的画面/图测量的不同情况虽然如此,如果你能具体谈谈“应用程序窗口的实际大小”,这是你的应用程序吗?或主屏幕应用程序?,其他一些应用程序?
如果你想要可用空间减去装饰(状态栏/软按钮),你也可以反向攻击它,例如测量实际屏幕尺寸(方法因API而异),然后减去状态栏。
示例显示高度:
((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getHeight();
状态栏的高度:
Rect rectgle= new Rect();
Window window= getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rectgle);
int StatusBarHeight= rectgle.top;
或者
int statusBarHeight = Math.ceil(25 * context.getResources().getDisplayMetrics().density);
许多不同的方式来做到这一点。
当然需要更多的信息给你,但给出更准确的答案。
5
这也很容易:
Rect windowRect = new Rect();
yourView.getWindowVisibleDisplayFrame(windowRect);
int hWindow = windowRect.bottom - windowRect.top;
int wWindow = windowRect.right - windowRect.left;
相关问题
- 1. 使窗口应用适合屏幕大小而不是静态大小
- 2. 如何在UWP应用程序中获取物理对角线屏幕大小
- 3. 窗口大小是否大于屏幕大小?
- 4. 如何获取控制台应用程序的屏幕大小?
- 5. 如何调整屏幕窗口大小?
- 6. 如何获取屏幕的物理大小?
- 7. 设置窗口大于屏幕大小
- 8. Netbean:如何调整UI窗口大小屏幕大小
- 9. Android屏幕取向大小
- 10. 获取屏幕大小XCode
- 11. 在屏幕上获取像素大小,而不是实际大小?
- 12. 如何获取主屏幕Widget大小
- 13. 根据屏幕大小调整WPF窗口的大小
- 14. 如何在Android应用程序中支持多屏幕大小
- 15. 如何创建屏幕大小独立Android应用程序
- 16. 如何读取OSX的物理屏幕大小?
- 17. Mac应用程序的窗口大小
- 18. 如何使用Curses从调整大小的窗口获取窗口大小?
- 19. 如何根据屏幕大小调整窗口小部件大小?
- 20. 如何获得wp7 ppi或物理屏幕大小?
- 21. 根据屏幕大小改变窗口大小Java
- 22. 如何启用大屏幕智能手机大小的Android应用程序
- 23. 使用网格几何和屏幕大小根据窗口大小调整窗口大小
- 24. 如何在Android的画布中获取屏幕大小的大小?
- 25. 如何android弹出窗口匹配屏幕大小宽度
- 26. 获取窗口大小
- 27. 获取Tkinter窗口大小
- 28. IOS应用程序窗口大小
- 29. WPF无边界窗口只是最大化主屏幕大小
- 30. 如何从不同的程序窗口获取窗口位置/大小?
谢谢,它自己的活动方面我之后。父视图宽度/高度会为我做,但正如你所说,需要首先绘制视图。 –
很酷,我提供的链接应该为你做,但你可以忽略关于测量后隐藏的部分。或者,在绘制视图后调用.getHeight()和.getWidth()(例如,在已经调用setContentView(R.layout.yourview)的活动中; – logray
“如果要在绘制之前获取高度,可以这样做:“ - 然后你提供了一些代码的链接,这些代码只能确定视图膨胀后的尺寸 – AndroidDev