自定义控件中经常用到重绘更新界面,今天我们就来看看重绘界面几个方法的异同。
1、invalidate
实现界面重绘刷新但只能应用在主线程中,如果想用在子线程中就要配合handler一块使用。
2、postInvalidate
可以直接在子线程中调用重绘刷新界面。
3、requestLayout
当View确定自身已经不再适合现有的区域时,该View本身调用requestLayout方法要求parent view重新调用他的onMeasure、onLayout来重新确定自己位置。特别是当view的layoutparameter发生改变,儿它的值还没能应用到view上时需要调用这个方法。
OK,就是这样,是不是很明白了(●´∀`●)