Android WindowManager悬浮窗

Android WindowManager悬浮窗的实现代码不难,悬浮窗创建成功后将悬浮悬停在设备的屏幕桌面上。悬浮窗通常使用情况:假设APP需要消失在屏幕时候保留一定的操作入口,则可以考虑使用。
需要增加权限:

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


一个简单的Android WindowManager悬浮窗实现代码:

import android.app.Activity;import android.content.Context;import android.graphics.PixelFormat;import android.os.Bundle;import android.view.Gravity;import android.view.View;import android.view.WindowManager;import android.widget.Button;public class MainActivity extends Activity {private WindowManager windowManager;private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 悬浮窗button = new Button(this);button.setText("悬浮窗 Zhang Phil @CSDN");button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// 作为测试,点击后删除该悬浮窗(即Button按钮)windowManager.removeView(button);}});windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);WindowManager.LayoutParams params = new WindowManager.LayoutParams();// 靠手机屏幕的左边居中显示params.gravity = Gravity.CENTER | Gravity.LEFT;params.type = WindowManager.LayoutParams.TYPE_PHONE;params.format = PixelFormat.RGBA_8888;// 如果设置以下属性,那么该悬浮窗口将不可触摸,不接受输入事件,不影响其他窗口事件的传递和分发// params.flags=LayoutParams.FLAG_NOT_TOUCH_MODAL// |LayoutParams.FLAG_NOT_FOCUSABLE | LayoutParams.FLAG_NOT_TOUCHABLE;// 可以设定坐标// params.x=xxxx// params.y=yyyyparams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;// 透明度// params.alpha=0.8f;params.width = WindowManager.LayoutParams.WRAP_CONTENT;params.height = WindowManager.LayoutParams.WRAP_CONTENT;windowManager.addView(button, params);// 更新// windowManager.updateViewLayout(button, params);}}


代码运行结果:



附录文章:
《Android CircularFloatingActionMenu:作为系统级按钮悬浮桌面弹出菜单使用(3)》链接地址:http://blog.csdn.net/zhangphil/article/details/50271303

更多相关文章

  1. Android程序反编译
  2. Android培训班(85)升级到4.0版本
  3. Android仿微信发送语音消息动态提示,支持上滑取消发送
  4. 魅族MX2 Smartbar的支持
  5. mono for android读书笔记之真机调试
  6. [置顶] android jni 调用
  7. undefined reference to `android::Mutex::lock()'
  8. android listView 总结
  9. listview 常用智识总结

随机推荐

  1. OpenGL ES教程I之创建OpenGL视图(原文对
  2. Cocos2d-x 3.2编译Android程序错误的解决
  3. android里面的点击事件总结
  4. Android Glide(4.9.0)源码分析
  5. android.net.http.AndroidHttpClient And
  6. 解决配置Android(安卓)sdk环境变量不生效
  7. Watchdog 工作机制解析
  8. Android Studio学习之对文件的基本了解
  9. 【小超_U3D】Unity打出Android包,运行报
  10. 普通的listview