博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 为应用增加可移动的悬浮窗口
阅读量:5814 次
发布时间:2019-06-18

本文共 1307 字,大约阅读时间需要 4 分钟。

需求描述:
在使用手机客户端浏览内嵌网页的时候,界面出现一个悬浮的刷新按钮,点击网页重新加载。

布局:





设置窗口类型在所有窗口之上:

这里说一下这个LayoutParams.TYPE_PHONE。

我们看一下官方文档说明:

These are non-application windows providing user interaction with the phone (in particular incoming calls). These windows are normally placed above all applications, but behind the status bar. In multiuser systems shows on all users' windows.
就是说设置了这个属性之后,这个窗口会在所以的界面之上,但是在状态栏的下面。在多用户系统中,所有用户的窗口上都会显示。


定义拖动和点击事件:

mFloatView.setOnTouchListener(new OnTouchListener() {						@Override			public boolean onTouch(View v, MotionEvent event) {				// TODO Auto-generated method stub  					wmParams.x = sWidth - (int) event.getRawX() - mFloatLayout.getMeasuredWidth() / 2;  	                wmParams.y = sHeight - (int) event.getRawY() - mFloatLayout.getMeasuredHeight() / 2;	                if(wmParams.y > sHeight - titleHeight){	                	return true;	                }	                 //刷新  	                mWindowManager.updateViewLayout(mFloatLayout, wmParams); 	                return false;			}		});                mFloatView.setOnClickListener(new OnClickListener() {						@Override			public void onClick(View v) {				// TODO Auto-generated method stub				web.reload();			}		});

别忘了权限声明:

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



效果图:

你可能感兴趣的文章
Oracle性能优化--DBMS_PROFILER
查看>>
uva-317-找规律
查看>>
Event事件的兼容性(转)
查看>>
我的2014-相对奢侈的生活
查看>>
zoj 2412 dfs 求连通分量的个数
查看>>
Java设计模式
查看>>
一文读懂 AOP | 你想要的最全面 AOP 方法探讨
查看>>
ndk制作so库,ndk-build不是内部或外部命令。。。的错误
查看>>
Spring Cloud 微服务分布式链路跟踪 Sleuth 与 Zipkin
查看>>
ORM数据库框架 SQLite 常用数据库框架比较 MD
查看>>
STL_算法_依据第n个元素排序(nth_element)
查看>>
BNU 34990 Justice String (hash+二分求LCP)
查看>>
华为OJ 名字美丽度
查看>>
Android 带清除功能的输入框控件EditTextWithDel
查看>>
微信公众号与APP微信第三方登录账号打通
查看>>
onchange()事件的应用
查看>>
PowerPoint 2010 设置演讲者模式
查看>>
net 和Mono 构建的HTTP服务框架
查看>>
Windows 下最佳的 C++ 开发的 IDE 是什么?
查看>>
软件工程师成长为架构师必备的十项技能
查看>>