1

嗨,我正在使用此代码

View v= inflater.inflate(R.layout.mylayout, null, false);
int width=v.getWidth();
int height=v.getHeight();

但是高度和宽度返回零,为什么它不起作用,如何获得我的视图的高度和宽度。提前致谢

4

2 回答 2

1

Width and Height of the view can be measured after drawing to the screen. 您的膨胀视图尚未在屏幕上绘制,因此如果您想获得高度和宽度,请尝试此操作。

View contentview = inflater.inflate(R.layout.mylayout, null, false);
contentview.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
int width = contentview.getMeasuredWidth();
int height = contentview.getMeasuredHeight();
于 2013-03-03T18:31:16.093 回答
1

未绘制组件时,getHeight() 和 getWidth() 返回 0。因此,您只需要绘制组件并获取绘制组件的测量值。

于 2013-03-03T18:35:31.797 回答