0

我正在尝试根据(屏幕高度 - 我的布局高度)/list.size 动态调整行的高度。

不幸的是,在 onCreate 方法中,布局高度返回 null (当我在点击监听器中调用它时不是这样)。

还有另一种方法可以调用它吗?我想要运行时的高度和宽度。

帮我....

提前致谢

4

1 回答 1

1

在 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.
    }
}
于 2012-07-26T08:34:52.620 回答