android游戏里的android悬浮窗口 demo怎么做的

【软件】流量监控悬浮窗(Android)v2.7.2 无需积分 去广告-清爽版八神安卓智能天下http://zntx.cc
主机:电信1号昨天研究Android的悬浮窗,遇到一个问题,研究了一天,总算找到结症了,原因非常坑人。。。。。问题是这样的,我想要将悬浮窗展现在桌面或其他应用之上,我的开发机子用的是MIUI,结果发现在机子上无论用什么TYPE和FLAG的悬浮窗(除了TYPE_TOAST),悬浮窗都是跟着应用走,只能在本身应用内展现。所以网上各种找呀,为什么~为什么,研究了各种TYPE和FLAG的作用,始终没有发现问题所在。后来我能够确定的是2.3系统是没有问题的,所以我就启动各种版本的AVD来测试,搞了我N久(只怪俺没钱哈~电脑破的要命~)发现全都可以显示~~~现在,我就可以肯定把问题归于MIUI,可是什么愿意呢?MIUI的BUG?但我只有这么个手机哈,难道要一直用卡死的AVD?所以继续Google,渐渐发现原来MIUI中有个权限控制选项。。。。。系统设置-&应用-&&具体应用&。。显示悬浮窗。。。这个打开就可以正常显示了。。。。好坑我呃。。。。浪费好多时间。。。。也不知道怪谁了。。。系统用的不纯熟?好吧。。。继续我的悬浮窗之旅。
Android中加入悬浮窗 - - ITeye技术站 import android.view.View.OnTouchL import android.view.WindowManager.LayoutP /** * 悬浮窗Service 该服务会在后台一直运行一个悬浮的透明的窗体...android 添加随意拖动的桌面悬浮窗口_Android_脚本之家关于android悬浮窗的问题-Android开发问答-eoe 移动开发者论坛 - ...16条回复&-&发帖时间:&日android中实现悬浮窗口并滚动android中实现悬浮窗口并滚动 android悬浮窗--获取内存 分类: android小例子
00:27 5625人阅读 评论(14) 收藏 举报 首先,得先说明,这个例子并不...Android在桌面添加可拖动、点击的悬浮窗口 - Android - 移动开发 ...[摘要]本文介绍Android在桌面添加可拖动、点击的悬浮窗口,并提供详细的示例代码供参考。用过新版本android 360手机助手都人都对 360中只在桌面显示一...Android从悬浮窗打开处于STOP状态的Activity - Android开发问答 -...[操作系统]Android 之 悬浮窗_郑少群个人昨天研究Android的悬浮窗,遇到一个问题,研究了一天,总算找到结症了,原因非常坑人。。。问题是这样的,我想要将悬浮窗展现在桌面或其他应用之上,我的开发机子用...android桌面悬浮窗 - 下载频道 - CSDNandroid下的桌面悬浮窗,可自由拖动,并监控在运行非桌面app的时候隐藏它。... android下的桌面悬浮窗,可自由拖动,并监控在运行非桌面app的时候隐藏它。...Android开发中PopupWindow实现窗口悬浮 - Android教..._安卓中文【安卓】让悬浮窗不再闪退 八门神器之类入_狂野之血吧_百度贴吧Android中悬浮窗口_文档下载_IT168文库 Android中悬浮窗口正在努力加载播放器,请稍等…文档信息大小:67.30KB 所需金币:50 下载文档 金币不足怎么办?下载量:-次 浏览量:390次贡献者:ansonromeo...59Android中可自由移动悬浮窗口的实现59Android中可自由移动悬浮窗口的实现大家对悬浮窗概念不会陌生,相信每台电脑桌面的右上;看见在Google搜索框上面的那个Icon图片了;一、实现原理及移动思路;调用Window...应用外悬浮窗口滚动播放-Android开发-APP开发 -猪八戒应用外悬浮窗口滚动播放01托管赏金到猪八戒 实名认证 通过猪八戒实名认证,保证身份真实可靠 Android 应用外悬浮窗口滚动播放,右上角显示关闭红插。购买Android...Android进阶2之PopupWindow弹窗(有点悬浮窗的感觉) - 百..._上学吧【悬浮窗】悬浮窗安卓版(Android)1.73下载_太平洋下载中心...安卓手机版免费下载、介绍、截图_Android工具_易应用中心...当前位置: Android首页 & Android应用 & 工具 & 流量监控-悬浮窗 流量监控-悬浮窗 (3) (3) 分享 简介 参数 编辑点评:可以随时监控络总流量、流速。 类似...Android桌面悬浮窗进阶,QQ手机管家小火箭效果实现 – findbugAndroid aiguozhe 4个月前 (09-11) 193浏览 0评论 相信用过QQ手机管家的朋友们都会知道它有一个小火箭加速的功能,将小火箭拖动到火箭发射台上发射就会出现一个...猎豹清理大师V5.5.1(优化悬浮窗天气样式) - 安卓通用软..._手机之家9条回复&-&发帖时间:&日流量实时显示及监控软件悬浮窗1.8去广告版_Android 安卓..._安卓9条回复&-&发帖时间:&日Android中后台显示悬浮窗口的方法 第2页_Linux编程_Linux公社-... &permission android:name=&android.permission.INTERNAL_SYSTEM_WINDOW& android:label=&@string/permlab_internalSystemWindow& android:description=&@string/permde...Android中可自由移动悬浮窗口的Demo,怎么加悬浮窗口点击事件12条回复&-&发帖时间:&日Android屏幕悬浮窗_51CTO下载中心_IT技术资料免费下载Android进阶2之PopupWindow弹窗(有点悬浮窗的感觉) - OPEN 开发...PopupWindow是一个可以用来显示一个任意的视图的弹出窗口,他需要完全依赖layout布局。 它没什么界面,在弹出的窗口中完全显示布局中的控件。 Android进阶2之Popup...Android悬浮框相关问题-CSDN论坛-CSDN-中国最大的IT技术社区4条回复&-&发帖时间:&日Android悬浮窗--获取内存 第3页_Linux编程_Linux公社-Linux系统... 用IntelliJ IDEA开发Android程序图文教程用IntelliJ IDEA开发 Android--ListView滚动条样式Android--ListView滚 Android--GestureOverlayView,手势识别Android--...Android悬浮窗自由移动实现 - OPEN 开发经验库Android悬浮窗自由移动实现 您的评价: 收藏该经验 文件夹 标签 (多个标签用逗号分隔)上很多这方面的文章,但总有诸多问题。主要有:一、悬浮窗...Android中悬浮窗口的实现原理和示例代码 - 豆丁Android中悬浮窗口的实现原理和示例代码 ???????>>,????(C)u??± 1/4 ???,???·ssí? 3/4 ?...ANDROID中可自由移动悬浮窗口的DEMO - Android开发资料库 - ...红米安卓优化大师,爱奇艺,酷狗,等等悬浮窗桌面歌词,等..._百度贴吧12条回复&-&发帖时间:&日Android中可自由移动悬浮窗口的Demo,怎么加悬浮窗口点..._百度知道2个回答 - 提问时间: 日myFV.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { Log.i(&foo&,&执行了点击事件&); } });Android好奇宝宝_05_PopupWindow与悬浮窗 - Android移..._红黑联盟Android系统中的系统服务基本都是这种方式。 说完原理来看看代码证实一下,先看下系统实现的PopupWindow,在根据原理来实现一个悬浮窗。 PopupWindow: 其实PopupWindow...在Android中使用WindowManager实现悬浮窗口 - wellxy的专栏 - ...androidwindowmanager界面布局最近在做一个项目的过程中,客户提出要一个能悬浮于所有应用的界面。下图右侧这个界面就是需要实现的悬浮于所有应用之上的视图。 下面就...Android UI开发第十四篇——可以移动的悬浮框 - 豆丁A Android UI开发第十四篇——可以移动的悬浮框 ndroid UI开发第十四篇——可以移动的悬浮框 分类: android UI(常用)
13:30 3437人阅读 评论(5) ...页面导航:
→ 正文内容 360悬浮窗QQ管家悬浮窗
Android实现类似360,QQ管家那样的悬浮窗
用到的就是WindowManager以及WindowManager.LayoutParams,对这个LayoutParams做文章,当设置为属性后,然后,创建一个View,将这个View添加到WindowManager中就行
一、前言: 我手机从来不装这些东西,不过,有次看到同事的android手机上,有个QQ管家在桌面上浮着,同事拖动管家时,管家就变成一只鸟,桌面下方还有个弹弓,桌面顶部有只乌鸦,把管家也就是鸟拖动到弹弓那,然后,松手,鸟就飞出去。这个过程是动画过程,做的事,实际上是清楚内存。 二:原理: 其实,没什么原理,用到的就是WindowManager以及WindowManager.LayoutParams,对这个LayoutParams做文章,当设置为属性后,然后,创建一个View,将这个View添加到WindowManager中就行。
代码如下: package com.chris.floats. import android.os.B import android.util.DisplayM import android.view.G import android.view.WindowM import android.app.A import android.content.C public class MainActivity extends Activity { private static WindowManager mWindowMgr = private WindowManager.LayoutParams mWindowMgrParams = private static FloatsWindowView mFloatsWindowView = @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /* * 显示应用主界面时,去除悬浮层 */ @Override public void onWindowFocusChanged(boolean hasFocus) { if(hasFocus){ if(mFloatsWindowView != null){ mWindowMgr.removeView(mFloatsWindowView); mFloatsWindowView = } }else{ getWindowLayout(); } } private void initParams(){ DisplayMetrics dm = getResources().getDisplayMetrics(); mWindowMgrParams.x = dm.widthPixels - 136; mWindowMgrParams.y = 300; mWindowMgrParams.width = 136; mWindowMgrParams.height = 136; } private void getWindowLayout(){ if(mFloatsWindowView == null){ mWindowMgr = (WindowManager)getBaseContext().getSystemService(Context.WINDOW_SERVICE); mWindowMgrParams = new WindowManager.LayoutParams(); /* * 2003 在指悬浮在所有界面之上 * (4.0+系统中,在下拉菜单下面,而在2.3中,在上拉菜单之上) */ mWindowMgrParams.type = 2003; mWindowMgrParams.format = 1; /* * 代码实际是wmParams.flags |= FLAG_NOT_FOCUSABLE; * 40的由来是wmParams的默认属性(32)+ FLAG_NOT_FOCUSABLE(8) */ mWindowMgrParams.flags = 40; mWindowMgrParams.gravity = Gravity.LEFT | Gravity.TOP; initParams(); mFloatsWindowView = new FloatsWindowView(this); mWindowMgr.addView(mFloatsWindowView, mWindowMgrParams); } } }
上面代码,主要在getWindowLayout函数中,最后两行就是创建一个View,并加入到WindowManager中。 继承View的悬浮View:
代码如下: package com.chris.floats. import android.content.C import android.content.I import android.graphics.drawable.AnimationD import android.util.AttributeS import android.util.DisplayM import android.view.G import android.view.MotionE import android.view.V import android.view.ViewTreeObserver.OnPreDrawL import android.view.WindowM public class FloatsWindowView extends View { private Context mContext = private WindowManager mWindowMgr = private WindowManager.LayoutParams mWindowMgrParams = private AnimationDrawable mAnimationDrawable = private int iPosX = 0; private int iPosY = 0; private int iLastPosX = 0; private int iLastPosY = 0; private boolean bMoved = public FloatsWindowView(Context context) { this(context, null, 0); } public FloatsWindowView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public FloatsWindowView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); mContext = mWindowMgr = (WindowManager)getContext().getApplicationContext().getSystemService("window"); mWindowMgrParams = new WindowManager.LayoutParams(); initParams(); mAnimationDrawable = new AnimationDrawable(); for(int i = 0; i & 4; i++){ int id = getResources().getIdentifier("a"+ i, "drawable", mContext.getPackageName()); mAnimationDrawable.addFrame(getResources().getDrawable(id), 100); } mAnimationDrawable.setOneShot(false); this.setBackgroundDrawable(mAnimationDrawable); OnPreDrawListener listener = new OnPreDrawListener(){ @Override public boolean onPreDraw() { mAnimationDrawable.start();
} }; this.getViewTreeObserver().addOnPreDrawListener(listener); } private void initParams(){ DisplayMetrics dm = getResources().getDisplayMetrics(); mWindowMgrParams.x = dm.widthPixels - 136; mWindowMgrParams.y = 300; mWindowMgrParams.width = 136; mWindowMgrParams.height = 136; } @Override public boolean onTouchEvent(MotionEvent event) { switch(event.getAction()){ case MotionEvent.ACTION_DOWN: iPosX = (int)event.getX(); iPosY = (int)event.getY(); bMoved =
case MotionEvent.ACTION_MOVE: bMoved = iLastPosX = (int)event.getX(); iLastPosY = (int)event.getY(); updatePostion(iLastPosX - iPosX, iLastPosY - iPosY);
case MotionEvent.ACTION_UP: if(!bMoved){ Intent it=new Intent(mContext, MainActivity.class); mContext.startActivity(it); }
} private void updatePostion(int x, int y){ mWindowMgrParams.type = 2003; mWindowMgrParams.format = 1; mWindowMgrParams.flags = 40; mWindowMgrParams.gravity = Gravity.LEFT | Gravity.TOP; mWindowMgrParams.x += mWindowMgrParams.y += mWindowMgr.updateViewLayout(this, mWindowMgrParams); } }
之所以将updatePosition中的参数与Activity中设置一样,是为了确保在MOVE时,造成相对位置的不一样,而导致闪砾,大家要是不理解,可以实验下。三、小结: 这篇文章实现了简单的悬浮窗口动画效果,如果要想做成像360,QQ管家那样,还需要一些其它的操作: 1. 比如启动一个后台服务来监控系统信息; 2. ACTION_DOWN时,修改悬浮窗口上的图片; 3. ACTION_MOVE时窗口跟随; 4. ACTION_UP时,创建一个线程,来完成释放后,向上运动的动画过程等;
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910热门合集:
游戏合集:
软件合集:
文章推荐:
您的位置: && & 悬浮窗流量监控FloatView
流量一直是手机用户一个很纠结的问题,手机56的用户们是不是每个月都会有一些流量没用,一些流量超支的现象呢,这里小编就为大家挑选了一些流量监测软件,大家有了...
v5.3.3正式版
V1.2.1.1418
热门生活应用软件排行
类别:生活应用
类别:生活应用
类别:生活应用
2604次下载
2351次下载
2119次下载
1606次下载
1429次下载
1421次下载
1262次下载
热门安卓软件排行
类别:视频播放
类别:视频播放
类别:理财金融
3651次下载
3611次下载
3608次下载
3405次下载
3392次下载
3321次下载
2813次下载

我要回帖

更多关于 android 360悬浮窗 的文章

 

随机推荐