如何获得视图的宽度和高度

时间:2011-10-15 17:09:01

标签: java android

我有一个名为game的类,它扩展了添加到LinearLayout的View。我知道它正在显示我的视图但我需要获取视图的宽度和高度才能绘制我的一些图像。这是我的构造函数代码:

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);

    ...
}

现在,当我执行this.getWidth()和this.getHeight()时,我的返回值为0.我如何获得视图的宽度和高度?

3 个答案:

答案 0 :(得分:2)

我今天回答了类似的问题。试试吧。它应该工作。

Android - getting the width of a button which is set to wrap_content

答案 1 :(得分:0)

您可以使用layout.getLayoutParams()获取布局参数,然后使用其中的height属性。

更新:如果您获得零值,也可能意味着视图尚未初始化。

答案 2 :(得分:0)