如何画出天天动听那样的待机歌词显示?

来源:互联网 发布:mac系统用什么美图软件 编辑:程序博客网 时间:2024/04/28 05:03

这两天开始设计到一些ui的东西!
天天动听那个在待机界面下的歌词显示很不错!
 
然后在网上看到http://discussion.forum.nokia.com/forum/showthread.php?t=98273 这里有个例子可以在其它屏幕上花图。当然也可以在待机界面上画图。
 
http://wiki.forum.nokia.com/index.php/TSS000058_-_How_can_I_determine_if_a_certain_application_is_in_the_foreground%3F 这个给出了如何判断一个ui是否在最上层可以见。
 
常见系统程序的uid,
The UID for some processes (in 3rd Ed. phones).:

- Phone.exe : 0x100058B3
- Idle.exe : 0x101FD64C
- Menu.exe : 0x101F4CD2

从天天动听的程序行为,结合上面几个例子我也许能够这样实现,

1.在任意屏幕上叠加画出东西来

2.程序需要监视那些程序在最上层,我在试验的时候用了HandleViewDeactivation这个函数,但是这个函数只能监听本程序从激活到不激活时候的状态。不能监听本程序从不激活到激活的状态。  并且从天天动听可以看到,它在你激活屏幕待机界面后通常有1-2秒钟的延时才出现这个歌词显示界面,那么可以在后台用一个ao定时器,照着wiki的指示监视那个程序处于最上层,如果是idle process在最上层就画歌词出来。但是这样,还是有个问题,它在你启动别的程序时候,并没有延时,如果用ao肯定有延时;从window server可以获得信息的话就不用ao了!

3.查看了一下ui的function 发现有这样的函数,用这些函数可以获得window server的通知。这样就可以在进入和退出idle screen的时候做操作了
 
 
 
 

原创粉丝点击