在onCreate方法从ImageView偶尔会取不到图片问题
2015-09-10 16:18
896 查看
imageView.setDrawingCacheEnabled(true);
bitmap = Bitmap.createBitmap(image1.getDrawingCache());
text2.setText("图片的宽高是="+bitmap.getHeight());
imageView.setDrawingCacheEnabled(false);
显示的图片高度为0,并且拿不到图片,是因为在onCreate中还没测量view的宽高和view的Layout,导致拿不到图片,
先执行onCreate再执行View的OnMeasure..... 解决方法:强制在onCreate 测量和布局view,再拿图片,另一种,在onWindowFocusChanged里可以拿到宽高。
imageView.measure(MeasureSpec.makeMeasureSpec(0,
MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
imageView.layout(0, 0,
imageView.getMeasuredWidth(),
imageView.getMeasuredHeight());
View的宽高一定再View.layout后才拿得到。
bitmap = Bitmap.createBitmap(image1.getDrawingCache());
text2.setText("图片的宽高是="+bitmap.getHeight());
imageView.setDrawingCacheEnabled(false);
显示的图片高度为0,并且拿不到图片,是因为在onCreate中还没测量view的宽高和view的Layout,导致拿不到图片,
先执行onCreate再执行View的OnMeasure..... 解决方法:强制在onCreate 测量和布局view,再拿图片,另一种,在onWindowFocusChanged里可以拿到宽高。
imageView.measure(MeasureSpec.makeMeasureSpec(0,
MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
imageView.layout(0, 0,
imageView.getMeasuredWidth(),
imageView.getMeasuredHeight());
View的宽高一定再View.layout后才拿得到。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories