首先声明转载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());
}
}
});
相关推荐
可惜的是,根据我的验证,利用网上转载的那些方法在OnCreate函数中获取到的仍然是0(希望搞技术的能自己验证过再转载),例如Measure方法之后调用getMeasuredWidth的值还是0。 原因是因为当OnCreate函数发生时,...
onCreate中获取图片的宽度和高度失败!采用其他方法,比如BitmapFactory。
当我们在 onCreate() 方法中获取某个 View 组件的宽度和高度,直接调用 getWidth()、getHeight()、getMeasuredWidth()、getMeasuredHeight() 方法只会得到 0。这是什么原因呢?下面来一起看看吧 实现
主要介绍了Android中oncreate中获得控件高度或宽度的实现方法的相关资料,希望通过本文大家能实现这样的功能,需要的朋友可以参考下
主要介绍了Android OnCreate()中获取控件高度与宽度两种方法详解的相关资料,这里提供了两种方法,大家可以都看下,需要的朋友可以参考下
原因在于View的Measure过程和Activity的生命周期方法不是同步执行的,因此无法保证Activity执行了onCreate、onStart、onResume时某个View已经测量完毕,如果View没有测量完毕,那么获得的宽高就是0。
Android Studio SQLite不调用oncreate方法
本文为大家分享了Android获取view高度的方法,供大家参考,具体内容如下 getMeasuredHeight()与getHeight的区别 ...我们知道在oncreate中View.getWidth和View.getHeight无法获得一个view的高度和宽度,
本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的...
Activity启动时候获取View宽高的四种方法,因为Activity的生命周期回调和view的measure过程不是同步执行的,所以无法在activity的onCreate、onStart和onResume里面准确的获取view的宽和高,可以通过以下四个方法来...
有时我们会有基于这样的需求,当Activity创建时,需要获取某个View的宽高,然后进行相应的操作,但是我们在onCreate,onStart中获取View的大小,获取到的值都是0,只是由于View的绘制工程还未完成,和在onCreate中弹...
1. 布局绘制过程 2. 遍历视图 3. 在onCreate()方法中获取View的宽度和高度 4. android:measureWithLargestChild使用说明 5. weight及weightSum使用说明
这是一个动态的设置和获取控件的宽度,在onCreate()方法中。
在Activity的onCreate()或者onResume()中去获得View的高度的时候不能正确获得宽度和高度信息,这是因为 View的measure过程和Activity的生命周期不是同步执行的,因此无法保证Activity执行了onCreate onStart ...
本文主要介绍Android onCreate( )方法,做Android应用的朋友对onCreate()的方法并不陌生,在开发应用的时候大家应该注意什么呢,这里给大家详细说明
这一份代码是实现MFC的窗口创建完成需要立刻对某些...因为在MFC的初始化函数中,窗口创建还没有完成不能对窗口上的控件进行初始化操作,这是需要调用OnCreate函数来完成初始化控件的操作。 这个VS工程是使用VS2017。
第二:LocationListener 最好在Activity的onCreate()方法中进行实例化 实现系统的回调方法: onLocationChanged(final Location loc) onProviderDisabled(final String s) onProviderEnabled(final ...