关于刷新自定义View

因为项目需要,需要在自定义View可见之后再动态变化宽度。

但宽度在你一开始findId的时候已经调用measure(width, height) 初始化好该自定义View的宽高。

查了一下,发现一个刷新View的方法 invalidate(),调用之后,自定义View只会重绘内容(调用onDraw()方法),而宽度还是固定不变,所以也没达到项目需求。

最后查了一下发现一个方法:requestLayout(),
具体作用:当某个组件需要更多的显示空间时,调用requestLayout()就会重新调用measure(width, height) 计算该View的宽高

猜你喜欢

转载自liucanwen.iteye.com/blog/2048110