欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android弹出窗口实现方法

程序员文章站 2024-02-13 23:48:04
本文实例讲述了android弹出窗口实现方法。分享给大家供大家参考,具体如下: 直接上代码: /** * 弹窗--新手指引 * @param cxt *...

本文实例讲述了android弹出窗口实现方法。分享给大家供大家参考,具体如下:

直接上代码:

/**
* 弹窗--新手指引
* @param cxt 
* @param id 资源编号
* @create_time 2011-7-27 下午05:12:49
*/
public static void displaywindow(context cxt, int id) {
    final textview imgtv = new textview(cxt.getapplicationcontext());
    imgtv.setbackgrounddrawable(cxt.getresources().getdrawable(id));//设置背景
    final windowmanager wm = (windowmanager) cxt.getapplicationcontext().getsystemservice("window");
    windowmanager.layoutparams wmparams = new windowmanager.layoutparams();
    wmparams.type = 2002;
    wmparams.format = 1;
    wmparams.flags = 40;
    wmparams.width = layoutparams.fill_parent;
    wmparams.height = layoutparams.fill_parent;
    wm.addview(imgtv, wmparams);
    imgtv.setonclicklistener(new button.onclicklistener() {
      @override
      public void onclick(view v) {
        wm.removeview(imgtv);//点击,将该窗口消失掉
      }
    });
}

别忘了在androidmanifest.xml中添加权限:

复制代码 代码如下:
<uses-permission android:name="android.permission.system_alert_window" />

android.permission.system_alert_window

允许一个程序打开窗口使用 type_system_alert,显示在其他所有程序的顶层(allows an application to open windows using the type type_system_alert, shown on top of all other applications. )

这个first_system_window的值就是2000。2003和2002的区别就在于2003类型的view比2002类型的还要top,能显示在系统下拉状态栏之上!

希望本文所述对大家android程序设计有所帮助。