现在的位置: 首页 > 综合 > 正文

动态显示歌词

2013年08月14日 ⁄ 综合 ⁄ 共 3905字 ⁄ 字号 评论关闭

一、在Android中,不能在主线程中更新布局,这样可能抛出Response Exception。

      需要开启一个线程来不断更新动态的视图,如此才不会影响到主线程的运行。

      同样的,也不能在主线程中直接下载网络文件这些比较费时的操作,如果一直没有响应,

      主线程可能直接崩溃,退出程序。解决的办法也是开启一个线程。

 

二、要动态显示歌词,必须自定义一个View类。(说明一下,此类大部分代码引用自网络,被我修改来满足我们的需求)

      比如我的代码定义为LrcSurfaceView ,它继承自SurfaceView ,并实现Runnable接口的run方法,已经实现

      SurfaceHolder.Callback;

      具体代码如下:

     

主要思路是,在view类创建的时候,开启一个线程,然后我们覆写run方法,在里面不断更新歌词的显示。

显示歌词的地方时一个canvas,然后我们在画布上不断用canvas.drawTextOnPath方法来画。

 

三、然后我们在xml文件中把此类引用。

     

 

四、在MainActivity中像往常的View调用就OK啦。

      类似代码如下:

     

五、最后就能出下面的效果。

     

 

    

 

 

 

抱歉!评论已关闭.