我正在尝试根据(屏幕高度 - 我的布局高度)/list.size 动态调整行的高度。
不幸的是,在 onCreate 方法中,布局高度返回 null (当我在点击监听器中调用它时不是这样)。
还有另一种方法可以调用它吗?我想要运行时的高度和宽度。
帮我....
提前致谢
我正在尝试根据(屏幕高度 - 我的布局高度)/list.size 动态调整行的高度。
不幸的是,在 onCreate 方法中,布局高度返回 null (当我在点击监听器中调用它时不是这样)。
还有另一种方法可以调用它吗?我想要运行时的高度和宽度。
帮我....
提前致谢
在 onCreate 视图中没有放置,所以它总是返回 null,你需要设置 GlobalLayoutListener,然后在监听器的 onGlobalLayout 方法中你可以获取视图/布局的实际尺寸。
ViewTreeObserver observer = view.getViewTreeObserver();
observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
//in here, place the code that requires you to know the dimensions.
//this will be called as the layout is finished, prior to displaying.
}
}