弹出窗口

直接上代码:
/**
     * 弹窗--新手指引
     * @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,能显示在系统下拉状态栏之上!

参考文章:http://www.cnblogs.com/GnagWang/archive/2011/02/06/1949569.html




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值