getHeight returns 0 for all Android(安卓)UI objects
16lz
2021-01-26
It's 0 because in both onCreate and onStart, the view hasn't actually been drawn yet. You can get around this by listening for when the view is actually drawn:
final TextView tv =(TextView)findViewById(R.id.venueLabel);
final ViewTreeObserver observer = tv.getViewTreeObserver();
observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener()
{
@Override
publicvoid onGlobalLayout()
{ tv.getHeight(); observer.removeGlobalOnLayoutListener(this);
}
});
The call to remove the listener is there to prevent repeated invocations of your custom handler on layout changes... if you want to get those, you can omit it.
http://stackoverflow.com/questions/8170915/getheight-returns-0-for-all-android-ui-objects
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer