gpt4 book ai didi

Android:以编程方式获取布局的宽度,在其 xml 中包含 fill_parent

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:16:27 27 4
gpt4 key购买 nike

我有一个 LinearLayout ,其宽度在 xml 中设置为 fill_parent ,现在我需要在运行时以编程方式设置它的宽度。所以我这样做了:

    LinearLayout layoutGet=(LinearLayout) findViewById(R.id.GameField1);
LayoutParams layParamsGet= layoutGet.getLayoutParams();
int width=layParamsGet.width;

但在调试时发现 width 值为 -1,任何人都知道为什么我不能在运行时获得 LinearLayout 的确切宽度,并在布局中设置了 fill_parent XML.

最佳答案

我得到了一个简单的方法。

myLayout = (RelativeLayout) findViewById(R.id.my_layout);
myLayout.post(new Runnable()
{

@Override
public void run()
{
Log.i("TEST", "Layout width : "+ myLayout.getWidth());

}
});

下面提到的 Jens Vossnack 的方法效果很好。但是,我发现重复调用了GlobalLayoutListener的onGlobalLayout()方法,在某些情况下可能不合适。

关于Android:以编程方式获取布局的宽度,在其 xml 中包含 fill_parent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18081001/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com