Java 如何获取视图的宽度和高度
我有一个名为game的类,它扩展了添加到LinearLayout的视图。我知道它正在显示我的视图,但我需要获得视图的宽度和高度,以便绘制一些图像。这是我的构造函数代码:Java 如何获取视图的宽度和高度,java,android,Java,Android,我有一个名为game的类,它扩展了添加到LinearLayout的视图。我知道它正在显示我的视图,但我需要获得视图的宽度和高度,以便绘制一些图像。这是我的构造函数代码: public Game(Activity activ) { activ.setContentView(R.layout.game); ... ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(LayoutParams.FILL_PARENT,
public Game(Activity activ)
{
activ.setContentView(R.layout.game);
...
ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT);
setLayoutParams(lp);
layout = (LinearLayout)activ.findViewById(R.id.game_layout);
layout.addView(this);
...
}
现在,当我执行这个.getWidth()和这个.getHeight()时,我一直得到一个0的返回值。如何获取视图的宽度和高度?您可以使用
layout.getLayoutParams()
获取布局参数,然后使用其中的height
属性
更新:如果您得到的值为零值,也可能意味着视图尚未初始化。视图类同时具有getHeight()和getWidth方法: () () 这里还有一个关于这个主题的博客:
我今天回答了一个类似的问题。试试看。它应该会起作用
您建议什么时候检查宽度和高度?您也可以试试layout.getMeasuredWidth()?噢,天哪,谢谢!最后我变得很沮丧。你是最棒的。