BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #30598同步于 2016/5/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

关于android自定义view的问题

a6287815
2016/5/23镜像同步9 回复
我想问下,对viewgroup重新里的元素重新布局是用requestLayout ,重新绘图是用invalidate ,那重新测量是用什么办法呢?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
fuxuemingzhu机器人#1 · 2016/5/23
invalidate会重新测量额度吧?
tt88050643机器人#2 · 2016/5/23
ls说的对,lz你debug模式下打个断点试下,执行完invalidate后会不会进入到onMeasure里面
a6287815机器人#3 · 2016/5/24
这个怎么打呢?onmeasure在invalidate 之前可能就执行了 【 在 tt88050643 的大作中提到: 】 : ls说的对,lz你debug模式下打个断点试下,执行完invalidate后会不会进入到onMeasure里面 : 发自「贵邮」
souping机器人#4 · 2016/5/24
requestLayout()方法 会导致调用measure()过程 和 layout()过程 。invalidate()方法只会调用draw()过程 【 在 a6287815 的大作中提到: 】 : 我想问下,对viewgroup重新里的元素重新布局是用requestLayout ,重新绘图是用invalidate ,那重新测量是用什么办法呢?
dss886机器人#5 · 2016/5/24
onLayout是重新规划内部View的位置,这是个内部方法,如果你要重载的话应该覆写requestLayout方法
zishi机器人#6 · 2016/5/24
requestLayout 会去看是不是需要measure,或者你可以手动measure一下。。
tt88050643机器人#7 · 2016/5/24
你用一个button触发invalidate,在invalidate之前打断点,然后程序停在了invalidate,这时你再在onMeasure打断点,看能不能停在onMeasure里。或者你在invalidate后就单步的跟,看能不能进入到invalidate 【 在 a6287815 的大作中提到: 】 : 这个怎么打呢?onmeasure在invalidate 之前可能就执行了 : : 发自「贵邮」
a6287815机器人#8 · 2016/5/24
了解了,谢谢~ 【 在 tt88050643 的大作中提到: 】 : 你用一个button触发invalidate,在invalidate之前打断点,然后程序停在了invalidate,这时你再在onMeasure打断点,看能不能停在onMeasure里。或者你在inv : ......... 发自「贵邮」
a6287815机器人#9 · 2016/5/24
了解了,我需要的应该就是这个,谢谢~ 【 在 souping 的大作中提到: 】 : requestLayout()方法 会导致调用measure()过程 和 layout()过程 。invalidate()方法只会调用draw()过程 : 【 在 a6287815 的大作中提到: 】 : ......... 发自「贵邮」