admin 发表于 2016-11-21 10:53:45

Android平台替代虚拟按键悬浮球,参考魅族悬浮球设计。

Android平台替代虚拟按键悬浮球,参考魅族悬浮球设计。
用过iphone的朋友都知道,iPhone有个圆球辅助工具,它漂浮在你的手机屏幕(在任何APP之上),你可以将它移动到任何地方,它叫做AssistiveTouch,本篇模拟该软件实现一个小案例,主要是实现它的界面,首先来看看实现的效果吧:
拖动小圆球:


点击弹出pop窗口:


为了让辅助工具一直悬浮在窗口之上,这里使用的机制是通过在程序初始化是,启动一个service,在service的onCreate() 函数中使用LayoutInflater来加载一个view,而这个view就是辅助球的布局文件:floatball.xml,然后对它进行onclick事件的监听,setOnClickListener监听到辅助球点击事件之后,就创建一个PopupWindow,弹出如上的菜单界面,大体的实现就是这样。
其实,实现窗口悬浮于最前面的一个重要属性是:WindowManager.LayoutParams.TYPE_PHONE
我们只要将WindowManager.LayoutParams的type属性设置为 WindowManager.LayoutParams.TYPE_PHONE就可以实现悬浮最前面。

工程目录结构:



测试截图:(动图演示)

http://img.bbs.csdn.net/upload/201611/21/1479696207_545356.gif


回复免费源码下载:
**** Hidden Message *****

捡代码论坛整理提供。







满man 发表于 2016-11-21 16:24:20

谢谢楼主分享

TILMICE 发表于 2016-12-8 09:51:28

楼主太有才了,膜拜中……来自于捡代码论坛

2801623141 发表于 2016-12-10 22:03:06

这个好啊!!!

anran21 发表于 2016-12-12 16:42:38

:):):):):):):)

pktzj117 发表于 2017-1-10 17:49:30

支持 支持 非常感谢

Selven 发表于 2017-1-12 15:12:11

这个新鲜

caihj 发表于 2017-1-16 10:24:49

这个不错

tsp520 发表于 2017-1-17 14:18:40

谢谢分享

YouAreOnlyOne 发表于 2017-1-19 12:03:00

这个可以有66666666
页: [1] 2 3 4
查看完整版本: Android平台替代虚拟按键悬浮球,参考魅族悬浮球设计。