您的位置:首页 > 移动开发 > Android开发

[Android]解决onCreate里面view.getHeight()为0、 getMeasuredHeight() 也是0 的问题

2017-03-30 14:27 337 查看
问题:

在Activity的onCreate或者onResume函数里面获取到的

view.getHeight()为0、 getMeasuredHeight() 也是0

原因:

控件已经创建了但是布局尺寸还没弄好,

解决:

不要执着了,那些 说什么

measure(View.MeasureSpec.UNSPECIFIED , View.MeasureSpec.UNSPECIFIED );

或者说什么

View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
之类的,都是没有经过实践的!


真正的解决办法:

就是不要在onCreate()或者onResume()里面去获取高宽,

要重写 onWindowFocusChanged 来获取,

@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);

if( hasFocus ){
//比如 int height = textView.getMeasuredHeight();
}
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐