`
gjhappyyy
  • 浏览: 256397 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

在onCreate方法中获取某个View的宽度和高度

 
阅读更多

首先声明转载URL:http://chenfeng0104.iteye.com/blog/1186850

 

有时候需要在onCreate方法中知道某个View组件的宽度和高度等信息,而直接调用View组件的getWidth()、getHeight()、getMeasuredWidth()、getMeasuredHeight()、getTop()、getLeft()等方法是无法获取到真实值的,只会得到0。这是因为View组件布局要在onResume回调后完成。下面提供实现方法,onGlobalLayout回调会在布局完成时自动调用

 

final LinearLayout imageViewContainer = (LinearLayout)findViewById(R.id.crop_photo_image_view_container);

        imageViewContainer.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

            boolean isFirst = true;//默认调用两次,这里只让它执行一次回调

            @Override

            public void onGlobalLayout() {

                if (isFirst) {

                    isFirst = false;

                    //现在布局全部完成,可以获取到任何View组件的宽度、高度、左边、右边等信息

                    Log.i("CDH", "Global W:"+imageViewContainer.getMeasuredWidth()+"  H:"+imageViewContainer.getMeasuredHeight());

                }

            }

        });

分享到:
评论

相关推荐

    Android在OnCreate中获取控件的宽度和高度的实现代码

    可惜的是,根据我的验证,利用网上转载的那些方法在OnCreate函数中获取到的仍然是0(希望搞技术的能自己验证过再转载),例如Measure方法之后调用getMeasuredWidth的值还是0。 原因是因为当OnCreate函数发生时,...

    ImageView获取宽度和高度

    onCreate中获取图片的宽度和高度失败!采用其他方法,比如BitmapFactory。

    android如何获取view在布局中的高度与宽度详解

    当我们在 onCreate() 方法中获取某个 View 组件的宽度和高度,直接调用 getWidth()、getHeight()、getMeasuredWidth()、getMeasuredHeight() 方法只会得到 0。这是什么原因呢?下面来一起看看吧 实现

    Android中oncreate中获得控件高度或宽度的实现方法

    主要介绍了Android中oncreate中获得控件高度或宽度的实现方法的相关资料,希望通过本文大家能实现这样的功能,需要的朋友可以参考下

    Android OnCreate()中获取控件高度与宽度两种方法详解

    主要介绍了Android OnCreate()中获取控件高度与宽度两种方法详解的相关资料,这里提供了两种方法,大家可以都看下,需要的朋友可以参考下

    关于Activity中获取View宽高的那些事

      原因在于View的Measure过程和Activity的生命周期方法不是同步执行的,因此无法保证Activity执行了onCreate、onStart、onResume时某个View已经测量完毕,如果View没有测量完毕,那么获得的宽高就是0。

    Android Studio SQLite不调用oncreate方法

    Android Studio SQLite不调用oncreate方法

    Android获取view高度的三种方式

    本文为大家分享了Android获取view高度的方法,供大家参考,具体内容如下 getMeasuredHeight()与getHeight的区别 ...我们知道在oncreate中View.getWidth和View.getHeight无法获得一个view的高度和宽度,

    android获取屏幕高度和宽度的实现方法

    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的...

    Activity启动时候获取View宽高的四种方法

    Activity启动时候获取View宽高的四种方法,因为Activity的生命周期回调和view的measure过程不是同步执行的,所以无法在activity的onCreate、onStart和onResume里面准确的获取view的宽和高,可以通过以下四个方法来...

    4种Android获取View宽高的方式

    有时我们会有基于这样的需求,当Activity创建时,需要获取某个View的宽高,然后进行相应的操作,但是我们在onCreate,onStart中获取View的大小,获取到的值都是0,只是由于View的绘制工程还未完成,和在onCreate中弹...

    Weight.zip

    1. 布局绘制过程 2. 遍历视图 3. 在onCreate()方法中获取View的宽度和高度 4. android:measureWithLargestChild使用说明 5. weight及weightSum使用说明

    动态的设置或者获取控件的长和宽

    这是一个动态的设置和获取控件的宽度,在onCreate()方法中。

    Android 获得View宽高的几种方式总结

    在Activity的onCreate()或者onResume()中去获得View的高度的时候不能正确获得宽度和高度信息,这是因为 View的measure过程和Activity的生命周期不是同步执行的,因此无法保证Activity执行了onCreate onStart ...

    Android onCreate( )方法详细介绍

    本文主要介绍Android onCreate( )方法,做Android应用的朋友对onCreate()的方法并不陌生,在开发应用的时候大家应该注意什么呢,这里给大家详细说明

    MFC中OnCreate、Settimer、OnTimer、KillTimer的使用例子

    这一份代码是实现MFC的窗口创建完成需要立刻对某些...因为在MFC的初始化函数中,窗口创建还没有完成不能对窗口上的控件进行初始化操作,这是需要调用OnCreate函数来完成初始化控件的操作。 这个VS工程是使用VS2017。

    android使用GPS获取当前地理位置

    第二:LocationListener 最好在Activity的onCreate()方法中进行实例化 实现系统的回调方法: onLocationChanged(final Location loc) onProviderDisabled(final String s) onProviderEnabled(final ...

Global site tag (gtag.js) - Google Analytics