Android 关于从onResume()获取视图宽度

Android 关于从onResume()获取视图宽度,android,android-activity,Android,Android Activity,调用Activity onResume()时,表示应用程序位于前台,可见,并且处于与用户交互的状态。但是,当第一次执行该方法时,它无法获得视图的真实宽度。为什么?问题的解决方案是,您需要手动设置视图,以便在UI完成加载后计算宽度 下面是一些示例代码,用于在加载UI后获取Textview的宽度和高度 this.my_textview.post(new Runnable() { @Override public void run() {

调用Activity onResume()时,表示应用程序位于前台,可见,并且处于与用户交互的状态。但是,当第一次执行该方法时,它无法获得视图的真实宽度。为什么?

问题的解决方案是,您需要手动设置视图,以便在UI完成加载后计算宽度

下面是一些示例代码,用于在加载UI后获取Textview的宽度和高度

    this.my_textview.post(new Runnable() {
        @Override
        public void run() {
            int x = my_textview.getWidth(); 
            int y = my_textview.getHeight();
            // TODO: Utilize the values here. 
        }
    });

至于为什么,它很好地解释了与消息队列有关的事情

我只是想知道,既然在onResume中可见,这是否意味着视图已经绘制出来了?已绘制,为什么宽度不正确?或者关于onResume的描述不准确?我只是想知道为什么,因为它在onResume中可见,这是否意味着视图已经绘制出来了?已绘制,为什么宽度不正确?或者关于onResume的描述不准确?第一次调用
onResume()
时,尚未测量和绘制视图。这种情况会在以后发生。请参阅链接的问题和此答案: