Android中重绘刷新界面之invalidate、postInvalidate和requestlayout的区别
2017-02-22 16:47
816 查看
自定义控件中经常用到重绘更新界面,今天我们就来看看重绘界面几个方法的异同。
1、invalidate
实现界面重绘刷新但只能应用在主线程中,如果想用在子线程中就要配合handler一块使用。
2、postInvalidate
可以直接在子线程中调用重绘刷新界面。
3、requestLayout
当View确定自身已经不再适合现有的区域时,该View本身调用requestLayout方法要求parent view重新调用他的onMeasure、onLayout来重新确定自己位置。特别是当view的layoutparameter发生改变,儿它的值还没能应用到view上时需要调用这个方法。
OK,就是这样,是不是很明白了(●´∀`●)
1、invalidate
实现界面重绘刷新但只能应用在主线程中,如果想用在子线程中就要配合handler一块使用。
2、postInvalidate
可以直接在子线程中调用重绘刷新界面。
3、requestLayout
当View确定自身已经不再适合现有的区域时,该View本身调用requestLayout方法要求parent view重新调用他的onMeasure、onLayout来重新确定自己位置。特别是当view的layoutparameter发生改变,儿它的值还没能应用到view上时需要调用这个方法。
OK,就是这样,是不是很明白了(●´∀`●)
相关文章推荐
- Android中重绘刷新界面之invalidate、postInvalidate和requestlayout的区别
- Android之界面刷新 View更新 Invalidate和postInvalidate的区别
- Android中Invalidate和postInvalidate和requestLayout的区别
- Android界面刷新之invalidate与postInvalidate的区别
- Android中Invalidate和postInvalidate和requestLayout的区别
- Invalidate和postInvalidate,android界面刷新
- Invalidate和postInvalidate,android界面刷新
- Android之界面刷新(invalidate和postInvalidate使用)
- Android之界面刷新(invalidate和postInvalidate使用)
- android中刷新Invalidate和postInvalidate的区别
- Invalidate和postInvalidate,android界面刷新
- Android 刷新UI界面:invalidate()和postInvalidate() 的区别及使用
- Android笔记:invalidate()和postInvalidate() 的区别及使用——刷新ui
- Invalidate和 postInvalidate()刷新界面的区别
- Android中Invalidate和postInvalidate和requestLayout的区别
- 刷新界面:invalidate()和postInvalidate() 的区别及使用
- Android之界面刷新(invalidate和postInvalidate使用)
- Android之界面刷新(invalidate和postInvalidate使用)
- (转)Android开发:Invalidate和postInvalidate刷新View的区别
- android中Invalidate和postInvalidate的区别