为了账号安全,请及时绑定邮箱和手机立即绑定

请问Android 如何判断一个View重绘或加载完成?

请问Android 如何判断一个View重绘或加载完成?

九州编程 2019-08-16 11:10:26
Android 如何判断一个View重绘或加载完成?
查看完整描述

3 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

可以设置这个回调函数

12345678//view重绘时回调view.getViewTreeObserver().addOnDrawListener(new OnDrawListener() {          @Override    public void onDraw() {    // TODO Auto-generated method stub             }});
12345678//view加载完成时回调view.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {    @Override    public void onGlobalLa


查看完整回答
反对 回复 2019-08-24
?
慕沐林林

TA贡献2016条经验 获得超9个赞

两种方式刷新:

  1. 主线程可以直接调用Invalidate()方法刷新

  2. 子线程可以直接调用postInvalidate()方法刷新。

  3. API的描述是这样的 : Invalidatethe whole view. If the view is visible, onDraw(Canvas) will be called at somepoint in the future. This must be called from a UI thread. To call from anon-UI thread, call postInvalidate().。当Invalidate()被调用的时候,View的OnDraw()就会被调用,Invalidate()必须是在UI线程中被调用,如果在新线程中更新视图的就调用postInvalidate()。



 

查看完整回答
反对 回复 2019-08-24
?
当年话下

TA贡献1890条经验 获得超9个赞

修改颜色后调用invalidate()
在自定义View 中提供一个方法
public void setRectColor(int color){
colors[x][x] = color; //修改颜色

invalidate();
}



查看完整回答
反对 回复 2019-08-24
  • 3 回答
  • 0 关注
  • 705 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信