用线程间隔重绘视图

Posted

技术标签:

【中文标题】用线程间隔重绘视图【英文标题】:Redraw view with intervals from thread 【发布时间】:2012-10-30 19:15:20 【问题描述】:

我需要自定义视图中的动画菜单。它必须间隔重绘几次(大约10次),但它在线程停止后重绘。

public void menuShift() 
    Runnable runnable  = new Runnable() 
        public void run() 
            while (TablesActivity.this.view.menuShifting) 
                try 
                    Thread.sleep(100) ;
                 catch (InterruptedException e) 
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                
                TablesActivity.this.view.timerRefresh() ;
                TablesActivity.this.view.postInvalidate() ;
            
        
     ;
    this.menuShiftThread = new Thread(runnable) ;
    this.menuShiftThread.run() ;

【问题讨论】:

【参考方案1】:

this.menuShiftThread.run();是问题,你需要

this.menuShiftThread.start()

开始一个新的线程。

【讨论】:

以上是关于用线程间隔重绘视图的主要内容,如果未能解决你的问题,请参考以下文章

AVAudioPlayer 可以在预定义的时间间隔触发事件吗?

mysql用视图和事件实现数据间隔插入数据到表

利用SurfaceView显示正弦曲线,仿造示波器

新兴的API(javascript)

Jmeter-线程组中线程的启动间隔

java中如何控制时间间隔?