一、在Android中,不能在主线程中更新布局,这样可能抛出Response Exception。
需要开启一个线程来不断更新动态的视图,如此才不会影响到主线程的运行。
同样的,也不能在主线程中直接下载网络文件这些比较费时的操作,如果一直没有响应,
主线程可能直接崩溃,退出程序。解决的办法也是开启一个线程。
二、要动态显示歌词,必须自定义一个View类。(说明一下,此类大部分代码引用自网络,被我修改来满足我们的需求)
比如我的代码定义为LrcSurfaceView ,它继承自SurfaceView ,并实现Runnable接口的run方法,已经实现
SurfaceHolder.Callback;
具体代码如下:
主要思路是,在view类创建的时候,开启一个线程,然后我们覆写run方法,在里面不断更新歌词的显示。
显示歌词的地方时一个canvas,然后我们在画布上不断用canvas.drawTextOnPath方法来画。
三、然后我们在xml文件中把此类引用。
四、在MainActivity中像往常的View调用就OK啦。
类似代码如下:
五、最后就能出下面的效果。
2686

被折叠的 条评论
为什么被折叠?



