RequestLayout() , Invalidate() , layout()之间的区别
来源:互联网 发布:家用踏步机 知乎 编辑:程序博客网 时间:2024/06/16 17:07
在自定义控件的过程会遇到以上方法,三个方法的区别如下:
1. requeLayout() : 控件会重新执行 onMesure() onLayout() ,比如 ScrollView中有LinearLaout ,LinearLayout里面有纵向排列的ImageView和TextView,那么假如ImageView的长宽发生了变化,而要立即在手机上显示这个变化的话,就可调用 imageView.requestLayout();这样的话ScrollView 会重新执行onMesure()这个方法会确定控件的大小然后在确定出自己的宽高,最后在执行onLayout(),这个方法是对所有的子控件进行定位的。
2.invalidate() :是自定义View 的时候,重新执行onDraw()方法。
3 layout():对控件进行重新定位执行onLayout()这个方法,比如要做一个可回弹的ScrollView,思路就是随着手势的滑动子控件滑动,那么我们可以将ScrollView的子控件调用layout(l,t,r,b)这个方法就行了。
0 0
- RequestLayout() , Invalidate() , layout()之间的区别
- requestLayout() 和 invalidate()的区别
- View的requestLayout和invalidate区别
- View的requestLayout和invalidate区别
- invalidate()和requestLayout()区别
- postinvalidatie invalidate requestlayout 区别
- android view requestLayout invalidate区别
- invalidate、postInvalidate和requestLayout区别
- Android view中 的requestLayout和invalidate方法的区别
- Android中Invalidate和postInvalidate和requestLayout的区别
- 安卓requestLayout, invalidate和postInvalidate的区别
- Android中Invalidate和postInvalidate和requestLayout的区别
- Android中Invalidate和postInvalidate和requestLayout的区别
- Android中Invalidate和postInvalidate和requestLayout的区别
- android中requestLayout方法和invalidate()方法的区别
- Android中view中的requestLayout和invalidate方法的区别
- 从源码看invalidate和requestLayout的区别
- 安卓中invalidate和requestLayout的实现和区别
- [verilog读书笔记]3.基本概念
- BASH 学习——变量
- 正则表达式
- OrmLite 轻量级ORM框架工具
- Qt creator 编译错误:无法解析的外部符号(命令)
- RequestLayout() , Invalidate() , layout()之间的区别
- React Router 使用教程
- 堆排序
- poj 3641 Pseudoprime numbers 快速幂取模
- android动画类型
- Different GCD Subarray Query (离线的处理)
- 笨方法习题15
- poj3096 Surprising Strings (STL中map)
- QSqlDatabase