翻看自己的笔记,发现以前有碰到过的一个问题,就是用了setLayoutParams去重新设置子view的位置时候,但是APP却崩了,查看崩溃日志,一般就是提示这种XXXLayoutParams can`t cast to YYYLayoutParames
所以特意重现一下日志,例如这种:
实际上这种问题如果有源码查看就很明确了,我们看下view里面这个方法的源码:
是不是发现params这个值原来是给当前view的父布局去用的
这就解释了为什么会出现转换错误,所以说子布局调用setlayoutparams方法的时候,里面的layoutparams参数必须要跟父布局的类型相同,这样这个问题就解决了。