大家对悬浮窗概念不会陌生,相信每台电脑桌面的右上角都会有这么一个东西,它总是出现在所有页面的顶端(Top Show)
但在Android平台中如何实现这样的效果呢
先来看一看效果图
看见在Google 搜索框上面的那个Icon 图片了嘛
下面我就来详细介绍一下在Android 平台下悬浮窗口的实现,并让它能够随手指的触摸而移动
一、实现原理及移动思路 调用 WindowManager,并设置 WindowManager
LayoutParams 的相关属性,通过 WindowManager 的addView 方法创建 View,这样产生出来的View 根据 WindowManager
LayoutParams 属性不同,效果也就不同了
比如创建系统顶级窗口,实现悬浮窗口效果
然后通过覆写悬浮View中onTouchEvent 方法来改变 windowMananager
LayoutParams 中x和 y的值来实现自由移动悬浮窗口
二、示例代码 先来看一看悬浮View 的代码,这里用一个ImageView 作为演示 [java] view plaincopyprint
public class MyFloatView extends ImageView { 2
private float mTouchStartX; 3
private float mTouchStartY; 4
private float x; 5
private float y; 6
private WindowManager wm=(WindowManager)getContext()
getApplicationContext()
getSystemService("window"); 8
//此 wmParams 变量为获取的全局变量,用以保存悬浮窗口的属性 9