android 应用内部悬浮可拖动按钮简单实现代码应用内部悬浮可拖动按钮简单实现代码
本文介绍了android 应用内部悬浮可拖动按钮简单实现代码,分享给大家,具体如下:
可以悬浮在activity上面,在加载fragment时悬浮按钮不会消失
实现方式很简单,因为是在应用内部拖动的,只需要通过Activity获取WindowManager,然后将要拖动的view设置上去就行
设置代码:
WindowManager wm = (WindowManager) activity.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
//通过像素密度来设置按钮的大小
dpi = dpi(dm.densityDpi);
//屏宽
screenWidth = wm.getDefaultDisplay().getWidth();
//屏高
screenHeight = wm.getDefaultDisplay().getHeight();
//布局设置
wmParams = new WindowManager.LayoutParams();
// 设置window type
wmParams.type = WindowManager.LayoutParams.TYPE_APPLICATION;
wmParams.format = PixelFormat.RGBA_8888; // 设置图片格式,效果为背景透明
wmParams.gravity = Gravity.LEFT | Gravity.TOP;
// 设置Window flag
wmParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
wmParams.width = dpi;
wmParams.height = dpi;
wmParams.y = (screenHeight - dpi) >> 1;
wm.addView(this, wmParams);