我想在Android的oncreate方法中获得控件的大小,用网上的方法并没有获取到,大家帮我看看下面代码哪里有错

用下面的代码并没有在Logcat中获得到相关的log信息,大家帮我看看怎么回事?<Buttonandroid:id="@+id/btn1"android:text="按钮... 用下面的代码并没有在Logcat中获得到相关的log信息,大家帮我看看怎么回事?

<Button
android:id="@+id/btn1"
android:text="按钮1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"/>

btn1 = (Button) findViewById(R.id.btn1);
ViewTreeObserver vto = btn1.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
public boolean onPreDraw() {
int height = btn1.getMeasuredHeight();
int width = btn1.getMeasuredWidth();
Log.i("info","\nwidth: " + width + "\nheight: " + height);
return true;
}
});
展开
 我来答
WinerAll
2015-12-09 · TA获得超过178个赞
知道答主
回答量:116
采纳率:50%
帮助的人:22.8万
展开全部
只有在view加载完毕之后获取才有用,除非你定死空间的宽高,否则只能在onWindowFocusChanged(boolean hasFocus)中当hasFocus为true之后获取
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式