【问题标题】:How to get width and height of a view如何获取视图的宽度和高度
【发布时间】:2011-12-08 10:08:34
【问题描述】:

我有一个名为 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。如何获得视图的宽度和高度?

【问题讨论】:

    标签: java android


    【解决方案1】:

    我今天回答了一个类似的问题。试试看。它应该可以工作。

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

    【讨论】:

    • 天哪,谢谢!最后!我变得非常沮丧。你是最棒的。
    【解决方案2】:

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

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

    【讨论】:

    • 建议什么时候检查宽度和高度?
    • 你也可以试试 layout.getMeasuredWidth() 吗?
    【解决方案3】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2011-05-31
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多