requestLayout invalidate postInvalidate-程序员宅基地

技术标签: ui  移动开发  

1、android中实现view的更新有几种方法?

你知道吗?其实android中实现view的更新有两种方法,一种是invalidate,另一种是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。

怎么说呢?Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。 鉴于此,如果要使用invalidate的刷新,那我们就得配合handler的使用,使异步非ui线程转到ui线程中调用,如果要在非ui线程中直接使用就调用postInvalidate方法即可,这样就省去使用handler的烦恼。

2、requestLayout在什么时候用呢?

当view确定自身已经不再适合现有的区域时,该view本身调用这个方法要求parent view(父类的视图)重新调用他的onMeasure onLayout来重新设置自己位置。特别是当view的layoutparameter发生改变,并且它的值还没能应用到view上时,这时候适合调用这个方法。

转载于:https://www.cnblogs.com/yaya25001/p/5615060.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30786617/article/details/97766224

智能推荐

统计推断(二) Estimation Problem_ms estimation problem-程序员宅基地

文章浏览阅读475次。1. Bayesian parameter estimationFormulationPrior distribution px(⋅)p_{\mathsf{x}}(\cdot)px​(⋅)Observation py∣x(⋅∣⋅)p_{\mathsf{y|x}}(\cdot|\cdot)py∣x​(⋅∣⋅)Cost C(a,a^)C(a,\hat a)C(a,a^)Solut..._ms estimation problem

关于学习SUMO经验总结_sumo中打开.sumocfg文件后退出-程序员宅基地

文章浏览阅读459次,点赞9次,收藏7次。学习小结仅作参考_sumo中打开.sumocfg文件后退出

几个比较常用的数学函数_数学函数常用-程序员宅基地

文章浏览阅读1.9k次,点赞2次,收藏9次。目录绝对值函数:求幂函数:开平方函数:开n次方函数:绝对值函数:int:abs(…)double:fabs(…)float:fabsf(…)用这个函数之前要添加头文件#include<stdlib.h>用法的栗子:输入的负数就会变成正数,double,float同理求幂函数:pow(a,b)---a的b次方,要求a和b只能是整数用这个函数之前要添加头文件#include<math.h>用法的栗子:_数学函数常用

感知机_感知机结构-程序员宅基地

文章浏览阅读1.1k次。参考:统计方法分析-李航一、_感知机结构

4. 网络安全基础与网络接入_4.1 实验一:访问控制列表配置实验思考题-程序员宅基地

文章浏览阅读998次,点赞34次,收藏14次。4. 网络安全基础与网络接入_4.1 实验一:访问控制列表配置实验思考题

.net core未能加载程序集解决办法_c# .netcore7.0 加载不了程序集-程序员宅基地

文章浏览阅读1k次。出现问题 运行.net core应用程序,报错未能加载程序集,具体详情如下图所示:分析问题 API接口程序集引用了一个程序集,而这个程序集又引用了其他的程序集,这个时候就存在了间接引用的关系啦,如下图所示:解决问题 重新发布一下被DTO的引用的程序集,然后手工删除一下DTO程序集,重新添加引用就可以重新运行啦,如下图所示: ..._c# .netcore7.0 加载不了程序集

随便推点

基于OPC自定义接口的OPCClient功能改进_titaniumas.opc.client-程序员宅基地

文章浏览阅读2.7k次,点赞2次,收藏9次。在本人之前的一篇博文中描写了如何使用OPC自定义接口开发OPCClient,并使用SignalR实现数据的远程实时传输。融合SignalR的OPCClient实现环境参数实时监测但是在使用过程中发现仍有不足之处,本文就是对之前OPCClient的功能改进进行说明。1.问题描述原有的OPCClient在测试环境下可以正常运行,但是在实际生产环境下长时间运行后问题就逐渐暴露出来。主要的问..._titaniumas.opc.client

宏工科技十五周年,“归零心态”竞逐全球-程序员宅基地

文章浏览阅读75次。宏工科技十五周年,“归零心态”竞逐全球

c++中的extern “C“_c++ extern c-程序员宅基地

文章浏览阅读1.6k次。c++中的extern "C"_c++ extern c

一体机怎么修复音频服务器,多媒体教学一体机没有声音是怎么办?-程序员宅基地

文章浏览阅读7.3k次。教学一体机没有声音怎么办?教学一体机是结合多种传统终端设备为一体的智能设备,可以触摸,可以书写,可以传屏等等功能,主要是于Windows系统和Android系统为载体进行研发的。很多时候,教学一体会出现各种原因导致没有声音,具体原因可以分为软件问题和硬件问题,软件问题包括静音病毒、声卡驱动等,硬件问题包括接口、音响等问题。教学一体机没有声音怎么办?相信我们去查找过很多相关的问题,都没有得到一个准确..._一体机没有声音了怎么恢复

QT学习:Qt 5.11.1+OpenCV (含Contrib)-3.4.3环境搭建_qt5.11.1 licensee-程序员宅基地

文章浏览阅读588次。一、安装CMakeCMake是用于编译的基本工具,其下载地址为:https://cmake.org/download/,下载获得的安装包 文件名为cmake-3.12.3-win64-x64.msi,双击启动安装向导,如图所示:单击“Next”按钮,在如下图所示的左边页面中勾选“I accept the terms in the License Agreement”复 选框接受许可协议,在右边页面中选中“Add CMake to the system PATH for all users”单选按钮添加_qt5.11.1 licensee

【图像隐藏】基于DWT数字水印嵌入+攻击+提取含Matlab源码_信息隐藏攻击matlabe-程序员宅基地

文章浏览阅读483次。1 简介数字水印是一个隐藏信息的行为,它与数字信号的类型(如;图像,歌曲,视频等)有关,它们的概念都是在相应的数字信号里藏有一个信息,然后通过解密来使它们成功分开。水印隐藏的信息与实际的信号的内容有关。水印算法主要分两种:空间域和变换域。空间域就是把信息嵌入到随机选择的图像点中最不重要的象素位置(Least Significant Bits)LSB,这种水印是不可见的;变换域一般是采用扩展频谱通信技术,它的主要技术有(离散傅里叶变换)DFT,(离散余弦变换)DCT 和 DWT,根据这些不同的变换,把数字_信息隐藏攻击matlabe

推荐文章

热门文章

相关标签