getMeasuredWidth()导致java.lang.IllegalArgumentException异常
来源:互联网 发布:万网现在买域名送xyz 编辑:程序博客网 时间:2024/06/15 00:44
在写毛玻璃特效时遇到了view 宽高必须大于0的非法参数异常
Caused by: java.lang.IllegalArgumentException: width and height must be > 0
导致原因:
因为我直接把View.getWidth、View.getHeight()、View.getMeasuredWidth() 、View.getgetMeasuredHeight()测量方法放在oncreat() 方法view的初始化里,当view还没有加载完成时就走了这个方法,当时测量的宽高就为0了,就会报这个异常。
我们都知道将View.getWidth、View.getHeight()、View.getMeasuredWidth() 、View.getgetMeasuredHeight()测量view的宽度和高度方法放在点击事件、触摸事件的回调里使用。就不会出现这个问题。但是有时需求不让我们点击时触发,让我们界面出现时就测量,就会出现宽高为0情况。
解决方法:
1、如果我们又不想放在点击事件的回调里使用,我们可以开启线程,让测量方法在初始化500毫秒后执行,当时测量的方法也可以防止值为0;
2、我们可以在onWindowFocusChanged(boolean hasFocus)里执行测量操作
@Override public void onWindowFocusChanged(boolean hasFocus) { //测量操作 。。。 super.onWindowFocusChanged(hasFocus); }
希望我的方法能够帮助到你解决宽高为0的问题!
0 0
- getMeasuredWidth()导致java.lang.IllegalArgumentException异常
- 异常:java.lang.IllegalArgumentException
- java.lang.IllegalArgumentException异常解决
- java.lang.IllegalArgumentException异常处理
- 异常java.lang.IllegalArgumentException: null
- JSONObject跳出java.lang.IllegalArgumentException异常
- java.lang.IllegalArgumentException:(读取配置文件异常)
- 解决spring的java.lang.IllegalArgumentException异常。
- ClassPathXmlApplicationContext创建时报异常java.lang.IllegalArgumentException
- java.lang.IllegalArgumentException 非法参数异常
- Java.lang.IllegalArgumentException: already added: 异常解决办法
- 异常 java.lang.IllegalArgumentException:unexpected url:
- 解决spring的java.lang.IllegalArgumentException异常。
- Tomcat7.x异常:java.lang.IllegalArgumentException
- 解决Spring的java.lang.IllegalArgumentException异常
- tomcat运行时异常:java.lang.IllegalArgumentException
- java.lang.IllegalArgumentException(java EE开发中tomcat异常信息)
- Java反射异常:java.lang.IllegalArgumentException: wrong number of arguments
- UIViewAnimationCurve 转换为 UIViewAnimationOptions
- PHP <td>输出变量的格式
- pig
- kernel 中断分析之四——中断申请[上]
- 说说我对tomcat和servlet的理解
- getMeasuredWidth()导致java.lang.IllegalArgumentException异常
- java发送邮件demo
- Android 柱状图 统计图的实现
- Android Notifaction 从4.0到7.0
- memcache
- Android硬编码——音频编码、视频编码及音视频混合
- layui---弹层组件,日期控件,分页组件
- 使用PHP实现自动生成验证码
- 十六进制转八进制数