如何正确调整包含视图的大小
我有一个 Activity
,它将显示由两部分组成的自定义视图。我希望一部分为可见屏幕高度的 1/3,另一部分为 2/3。
我可以重写 onMeasure() 并使用显示指标来查找显示器的高度,但这并不能说明电池栏或视图标题的大小。
DisplayMetrics dm = new DisplayMetrics();
((WindowManager)contxt.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getMetrics(dm);
int height = dm.heightPixels;
如何判断可显示区域的高度?我准备覆盖 layout
或其他内容。 Android
的最佳实践是什么?我已经看到了其他类似的问题,但它们还没有结论。
I have an Activity
that will display a custom view made up of 2 parts. I want one part to be 1/3 of visible screen height, the other part to be 2/3.
I can override onMeasure()
and use display metrics to find the height of the display, but this does not account for the battery bar or view title sizes.
DisplayMetrics dm = new DisplayMetrics();
((WindowManager)contxt.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getMetrics(dm);
int height = dm.heightPixels;
How can I tell the height of the displayable area? I'm prepared to override the layout
or whatever. What is the Android
's best practices? I've seen other questions along this line, but they are inconclusive.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我想出了一个办法。我重写RelativeLayout,并让它保留指向我的上视图和下视图的指针。然后,当它处理 onMeasure 时,它会在我的 2 个视图上设置所需的高度。他们在处理 onMeasure 时使用所需的高度。这给了我一个位于可见区域 2/3 的视图,另一个视图位于下方。
-- 来自我的 Layout 类
-- 来自 View 派生类
I figured out a way to do it. I override RelativeLayout, and get it to keep pointers to my upper and lower views. Then when it processes onMeasure, it sets the desired heights on my 2 views. They use the desired height when they handle onMeasure. This gives me one view at 2/3 of the visible area, with the other one below.
-- from my Layout class
-- from the View derived classes