不错的课堂,不是一来就做出标准的效果,而是伴随着一些我们新手常常遇到的问题入手,一步一步找到问题的根源,思路最重要。
有点不好的地方就是在测量子View的时候:int width = ViewGroup.getChildMeasureSpec(0, 0, p.width);参数中的两个0让人费解。看了源代码后也发现有那么一点不好,第一个参数传入后,在第一行居然又调用一个MeasureSpec.getMode(spec)。为什么不直接在第一个调用的地方参数为Mode?
有点不好的地方就是在测量子View的时候:int width = ViewGroup.getChildMeasureSpec(0, 0, p.width);参数中的两个0让人费解。看了源代码后也发现有那么一点不好,第一个参数传入后,在第一行居然又调用一个MeasureSpec.getMode(spec)。为什么不直接在第一个调用的地方参数为Mode?
2016-04-05
听课是听个思路,哪有那么多听了就直接在项目中用的啊,再说项目中用的时候也的根据项目的实际需求来定制,有了思路自己就知道怎么接着往下写了,伸手党做不得!
2016-03-26
已采纳回答 / 123木头人v
我的理解是,invalidate()是用来刷新View的,因为之前在构造方法里已经用inflate先加载了布局文件,然后再用setPadding做出改变,所以要使前面的无效化
2016-03-18