我希望获得我的活动中的视图的大小,但我无法在任何活动生命周期回调(onCreate,onStart,onResume)中获取该信息。我假设这是因为尚未绘制视图。在什么时候绘制了视图并且是否有回调我可以放置我的代码以便我可以获得视图的大小?
findViewById(R.id.header).getHeight();
答案 0 :(得分:3)
How are views drawn概述了绘制视图的过程。基本上,有一个通道可以衡量一切都想要的东西,然后是第二次通过的时候。
虽然听起来像你的问题,你应该能够通过手动设置高度值来实现目标。你有没有玩过gridview的stretchMode,gravity,layoutHeight等?有关参数选择的一些详细信息,请参阅GridView javadoc。
答案 1 :(得分:0)
在实例化布局后,它应该在onCreate(),onStart()和onResume()中工作。尝试:
findViewById(R.id.header).getLayoutParams().height