Axa*_*dax 3 android android-view
我希望在视图完成重绘后得到通知,我要求它无效.如本回答所述,该invalidate()方法不会onDraw()立即调用View的UI,而是在主线程空闲之后执行的消息队列中调度重绘.
我想显示一个进度对话框,进行一些UI修改,然后在正确绘制视图时关闭对话框.是否有一些技巧可以让我知道何时绘制视图?也许通过继承视图,重写onDraw()方法?
我想你自己回答了你的问题.为什么不:
public class DrawListenerView extends View{
private Callback callback;
public DrawListenerView(Callback callback){
this.callback = callback;
}
@Override
protected void onDraw (Canvas canvas){
super.onDraw(canvas);
//add your method here you want to call
//Or use a Callback-pattern
callback.finish();
}
}
public interface Callback(){
public void finish();
}
Run Code Online (Sandbox Code Playgroud)
如果你看一下来源:
上面的评论说
使整个视图无效.如果视图可见,将在以后的某个时刻调用onDraw(android.graphics.Canvas).必须从UI线程调用此方法.要从>非UI线程调用,请调用postInvalidate().
试试吧 :)
编辑:可能你想使用Callback来处理这个问题.
| 归档时间: |
|
| 查看次数: |
6325 次 |
| 最近记录: |