自定义View的视图刷新问题
来源:互联网 发布:上海同济大学网络教育 编辑:程序博客网 时间:2024/05/22 01:33
在做项目的时候,刷新adapter其他的数据都更新了,但是自己定义的视图没有更新,后来发现自己没有执行invalidate ()方法,没有手动的让视图刷新
自定义 View 继承自 View 类,然后重写他的onMeasure() 、onDraw()、和 onLayout()方法。在 onMeasure()方法中测量出自定义控件的宽和高并且调用setMeasuredDimension(width, height)方法将宽高配置好,然后调用 onLayout()方法来确定自定义控件在布局中的位置,最后调用 onDraw()方法来将自定义 view 绘制在布局中。今天我主要想给大家分享下我个人使用自定义 view 是遇到的重绘和更新使用。
之前在项目中使用到一个自定义控件,需求是在点击控件的时候可以改变它的宽高,并且还要改变它的内容。这时候就需要使用到 view 的 requestLayout()方法及 invalidate ()方法了。这里要注意,必须先调用 requestLayout() 方法再调用 invalidate ()方法。具体原因是,在调用 requestLayout() 方法时,view 只会执行 onMeasure(先)及 onLayout(后)方法,而调用 invalidate ()方法时,view 会调用 onDraw()方法。调用完这两个方法你的自定义控件就可以重绘及更新了。
ps:若只改变宽高调用 requestLayout() 方法即可,若只更新内容调用 invalidate ()方法。
阅读全文
0 0
- 自定义View的视图刷新问题
- 自定义View刷新问题
- android自定义view的刷新
- 证书问题、刷新自定义view实例
- 物化视图的刷新问题
- 自定义View:通用的下拉刷新
- Android 自定义View视图
- 建立快速刷新的物化视图(materialized view)
- 物化视图快速刷新的一个问题
- Android自定义view最小刷新时间为16ms问题
- 添加自定义的View视图类(自定义一个进度条)
- 自定义View的简单尝试——自定义日历视图
- delphi视图刷新问题
- ios视图刷新问题
- 自定义view的宽度问题
- 自定义view遇见的问题
- 自定义view遇到的问题
- 自定义View的OnMeasure问题
- 命令行编译C语言Hello World的过程
- 栈及链栈常用函数
- mybatis在Mapper.xml文件中使用大于,小于时要用 > <
- 从B树、B+树、B*树谈到R 树
- C# aspx获取web.config中的key值
- 自定义View的视图刷新问题
- 数理逻辑习题集(6)
- Spring构建Web应用部署至Tomcat开发过程中的数据编码问题
- 手指在屏幕上滑动,红色的小球始终跟随手指移动。
- sql 查询一列和另一列的关系是不是一对一
- Voxel Space:不到20行代码实现地形渲染
- 手动注册 spring bean
- [nodejs][express]中间件
- datagridview动态绑定以及显示行号