可能重复:
如何根据其父级维度调整Android视图的大小
我该如何使用getMeasuredWidth()和getMeasuredHeight?它总是返回0.这与getHeight()和之间的差异是什么getWidth()?
Par*_*ani 64
刚刚获得了一个解决方案来获取自定义视图的高度和宽度:
@Override
protected void onSizeChanged(int xNew, int yNew, int xOld, int yOld){
super.onSizeChanged(xNew, yNew, xOld, yOld);
viewWidth = xNew;
viewHeight = yNew;
}
Run Code Online (Sandbox Code Playgroud)
它在我的案例中工作.
小智 12
您可以使用以下方法获取视图的宽度和高度,例如,
int height = yourView.getLayoutParams().height;
int width = yourView.getLayoutParams().width;
Run Code Online (Sandbox Code Playgroud)
这给出了在XML布局中指定的视图的转换值.
假设在XML中指定的高度值是53dp,您将获得整数转换后的值为80.
我也失去了身边getMeasuredWidth(),并getMeasuredHeight() getHeight()和getWidth()很长一段时间..........后来我发现onSizeChanged()的方法是很有益的.
新博文:如何在Android中获取customView(扩展视图)的宽度和高度尺寸http://syedrakibalhasan.blogspot.com/2011/02/how-to-get-width-and-height-dimensions.html
getHeight()和之间的区别getMeasuredHeight()是第一种方法将返回实际高度View,第二种方法将返回子项的汇总高度View.换句话说,getHeight()返回视图高度,getMeasuredHeight()返回此视图需要显示其所有元素的高度
很好地getHeight获取了高度,并getWidth获取了宽度。但你调用这些方法太早了。
onCreate如果您在或中调用它们onResume,则视图尚未绘制。您必须在绘制视图后调用它们。