getHeight()vs getLayoutParams()。height

时间:2011-01-28 07:39:45

标签: android view height

getHeight()的{​​{1}}和getLayoutParams().height之间有什么区别?我有一个View(GoogleAdView),我想隐藏它,我将View设置为零,但广告的高度(getLayoutParams().height)不为零。

有没有办法隐藏ad.getHeight()以便它不占用布局中的空间?

我尝试将其展示次数设置为View或将GONE设置为零,但这不起作用。

2 个答案:

答案 0 :(得分:19)

LayoutParams.height是您希望您的视图一旦布局后的高度,可以设置为特定常量,如WRAP_CONTENT,getHeight()返回实际高度(返回0)直到视图没有布局)。请参阅How Android Draws ViewsView - Size, padding and margins

正如Michael所说,你必须调用requestLayout()。

答案 1 :(得分:5)

隐藏视图并在布局中忽略它的正确方法是使用

setVisibility(View.GONE);

如果这不适合你,你需要找出原因。试图调整尺寸并不是一条好路。

如果您的布局有问题,请在此处发布。