首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android第一流窗口控制

2012-08-28 
Android顶级窗口控制顶级窗口会显示在所有视图之上,可以利用此特性用来显示优先级高的业务。我把它可分为常

Android顶级窗口控制

顶级窗口会显示在所有视图之上,可以利用此特性用来显示优先级高的业务。

我把它可分为常规式顶级窗口和遮罩式顶级窗口。

常规式顶级窗口不影响其他组件获取焦点(图1);遮罩式顶级窗口顾名思义就是把其他组件都遮住了(图2)。

??????????????????????????? Android第一流窗口控制图1

?

?

?????????????????????? ???? Android第一流窗口控制图2

?

实现方式:

先启动一个服务(aidl),由该服务去绘制窗口,并对外提供绘制接口(实现见下面代码);

单独写一个应用(如上),用来连接服务并显示顶级窗口。

?

?

服务端控制顶级窗口显示与销毁的代码:

?<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />



好久没有搞Android了,记得IService.Stub是根据IService.aidl文件自动生成的一个代理类。你可以在aidl文件中定义业务接口,我只在其中定义了drawTopWin()和cancelTopWin()方法,希望对你有用。

热点排行