Android弹出窗口实现方法
本文实例讲述了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中添加权限:
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程序设计有所帮助。
相关文章
详解如何使用Android Studio开发Gradle插件
这篇文章主要介绍了详解如何使用Android Studio开发Gradle插件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-10-10
Android图片的Base64编码与解码及解码Base64图片方法
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。接下来通过本文给大家分享Android图片的Base64编码与解码及解码Base64图片,需要的朋友参考下吧2017-12-12
Android SharedPreferences的使用分析
本篇文章小编为大家介绍,Android SharedPreferences的使用分析。需要的朋友参考下2013-04-04
Android开发必备:秒杀真机超快模拟器Genymotion介绍
这篇文章主要介绍了Android开发必备:秒杀真机超快模拟器Genymotion介绍,本文直接用图片说明Genymotion的安装和模拟效果,并提供官网,需要的朋友可以参考下2015-04-04


最新评论