1

我需要LinearLayout在创建时获得我的主要宽度。在实际绘制之前,宽度为 0 - 直到onCreate(...)完成之后才绘制......所以我想做的是在它被绘制或调整大小时被告知,然后从那里获取宽度。这些似乎没有任何听众,所以有人对如何在创建时获得宽度有任何建议吗?

4

1 回答 1

0

也许它的废话答案..但你真的需要它 onCreate 方法吗?

您可以在 onStart 方法中移动 onCreate 方法中的所有内容。会有我认为一切都好,你不会得到宽度 0..

但如果你真的需要它在 onCreate 方法中。您可以覆盖视图的 onSizeChanged 方法。我现在不在带有 Eclipse 的 PC 上,但它看起来像:

View v=(View)findViewById(R.layout.your_layout);
v.setOnSizeChangedListener(new OnSizeChangedListener(){
@override
public OnSizeChanged(View v){
// ..... YOUR CODE IN HERE ......
}
});

编辑:sry..这是正确的答案,但不是很多:] 基本上没有 onSizeChangedListener,你需要自己写..

看看https://stackoverflow.com/a/5087960/1148979你可以找到答案

于 2012-09-10T02:33:54.883 回答