其实就是一块显示区域,在 Android 中就是绘制的画布:Surface,当一块 Surface 显示在屏幕上时,就是用户所看到的窗口了。...android:layout_width Specifies the basic width of the view....参考android.graphics.PixelFormat。 12. public int windowAnimations; 窗口所使用的动画设置。...:name="android.permission.SYSTEM_ALERT_WINDOW"/> ---- 举例实现 service /* * ervice中随时监听限制条件的变化以调动悬浮开关 *...this.mTimer.schedule(mTimerTask, 300, 300); } WindowManager /* * 定义一个实现WindowManager的类,所有需要悬浮的界面可以在此类中定义
悬浮效果 先看个效果 效果 这是一个City列表,每个City都有所属的Province,需要在滑动的时候,将对应的Province悬浮在顶部。...效果 (详情代码见底部链接) 打造悬浮效果 这是一个城市列表,根据省份分组,相同的城市只会显示一个省份。滚动城市列表时,省份会悬浮在顶部。...到目前为止,一个带有悬浮功能的列表就实现了。...com.gavin.com.library:stickyDecoration:x.x.x' } 链接 支持 LinearLayoutManager GridLayoutManager 点击事件 分割线 详细用法级源码请看Github 参考 Android...-使用RecyclerView的ItemDecoration 实现炫酷的 吸顶效果 RecycleView的学习(一篇不错的博客,没有投稿,所以看得人不多) Android RecyclerView
▲ 效果图 以下是弹出窗口代码: 点击文字弹出一个DIV层窗口代码...document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none'">点这里关闭本窗口
mWindowManager.removeView(mFloatingView); } } Mainfest.xml需要添加相关权限以及注册Service android...:name="android.permission.SYSTEM_ALERT_WINDOW"/> android:name="cn.android.example.knowledge.service.FloatingViewService..." android:enabled="true"/> 这样,就可以把之前的录制视频的代码,与FloatingView相结合,这样录制起来就方便一点了。
android:name="android.permission.SYSTEM_ALERT_WINDOW" /> (很多文章标题都是悬浮窗如何绕过权限,什么设置类型为TOAST...代码如下所示: private //设置window type 下面变量2002是在屏幕区域显示,2003则可以显示在状态栏之上 //设置可以显示在状态栏上 //设置悬浮窗口长宽数据...mStartX: Int = 0 private var mStartY: Int = 0 private var mStopX: Int = 0 private var mStopY: Int = 0 //判断悬浮窗口是否移动...private var mStartY: Int = 0 private var mStopX: Int = 0 private var mStopY: Int = 0 //判断悬浮窗口是否移动...private //设置window type 下面变量2002是在屏幕区域显示,2003则可以显示在状态栏之上 //设置可以显示在状态栏上 //设置悬浮窗口长宽数据
> android="http://schemas.android.com/apk/res/android" android:layout_width="...wrap_content" android:layout_height="wrap_content" android:background="@drawable/floating_bar_outside..."> <TextView android:id="@+id/touch_view" android:layout_width="200dp" android...:layout_height="5dp" android:background="@color/colorAccent" android:clickable="true"...等到悬浮窗完全展示的时候,点击空白的地方,悬浮窗又需要从当前的位置回滚到初始的位置,其原理和拖出来的原理是一样的。
FloatingX ,一个强大的免权限悬浮窗组件,支持全局,以及局部悬浮窗。...背景 在前几个月的业务开发中,我们 app 需要对悬浮窗进行更改,常见的悬浮窗实现方式分为两种: 前者是获取权限后,利用 WindowManager 实现 后者是基于 DecorView 实现的插入悬浮窗...于是我希望有这样一个组件,它必须具备以下基本要求: 无感插入 可拖动 良好的分层设计 这是最开始的功能,但随着封装过程,以及对比知乎等其他悬浮窗,我发现可能可以让这个东西更有意思,而不只是一个工具类。...插入到 DecorView 可以最大程度控制悬浮窗的自由度,即悬浮窗可以真正意义上[全屏]拖动。...感谢 基础 悬浮窗View 源自 EnFloatingView 的 FloatingMagnetView 实现方式,并在其基础上增加了一些改进。
目的 我们在很多android应用中可能会看到悬浮窗按钮,最多的应该就是360了,通过代码我们也可以实现这个功能 先上干货 Demo做完的效果演示视频: ?...然后在布局Layout里面增加window_small.xml和window_big.xml两个布局文件,用于点击小窗口后展开大窗口 window_small.xml ?...(context); } }); } } ---- MyWindowManager 这个类是我们管理大小悬浮框的事件类,包括关闭小悬浮窗,展开大悬浮窗等...}); } } } 我们在设置WindowManager.LayoutParams里面的type参数时需要注意的问题 //设置类型 android8.0...bigWindowParams.type = WindowManager.Layout Params.TYPE_SYSTEM_ALERT; } android8.0
前言 前几天我刚写了一篇《Android实现可移动的悬浮窗》的文章,需要在AndroidManifest.xml里的加上权限申请 ?...而这个权限到了android6.0后需要动态申请,加到app中,运行程序时候会让弹出让你打开上层窗口的权限,有点不太友好。...最近手机里的直播软件如熊猫TV,虎牙直播等,在退出直播房间时右下角会有当前房间的直秋视频继续存在,这里肯定也是用到了悬浮窗,但是我记得在安装这些APP时并没有发现它们会弹出让你打开上层窗口的权限控制,于是决定查找一下这方面的资料看一下...android4.3及以下的版本中,如果用TYPE_TOAST悬浮窗正常显示, 但不能接受触摸事件....再运行程序即可实现不用动态申请上层权限即可实现android的悬浮窗效果了。 ---- -END-
场景描述app应用会使用悬浮窗/悬浮球的方式来给用户展示一些应用重要&便捷功能的入口,类似android和iOS应用中常见的应用内可拖拽的悬浮球和小窗口视频悬浮窗,点击悬浮窗修改悬浮窗样式和响应事件跳转页面...应用经常会遇到如下的业务诉求:场景一:通过事件添加和移除悬浮窗,悬浮窗样式可定制(暂定两种,无白边圆球形和小视频播放窗口类型),可代码修改位置和布局。...场景二:创建悬浮窗后,主窗口的系统侧滑返回事件可正常使用。...场景四:悬浮窗内组件事件触发主窗口的页面跳转(Router和Navigation两种都要有)。场景五:悬浮窗的窗口大小自适应组件,子窗口中页面设置了宽高,需要让子窗口自适应页面组件大小。...方案描述场景一:通过事件添加和移除悬浮窗,悬浮窗样式可定制(暂定两种,无白边圆球形和小视频播放窗口类型),可代码修改位置和布局。
序言 前些日子跟朋友聊天,朋友Z果粉,前些天更新了微信,说微信出了个好方便的功能啊,我问是啥功能啊,看看我大Android有没有,他说现在阅读公众号文章如果有人给你发微信你可以把这篇文章当作悬浮窗悬浮起来...,方便你聊完天不用找继续阅读,听完是不是觉得这叫啥啊,我大Android微信版不是早就有这个功能了吗,我看文章的时候看到过有这个悬浮按钮,但是我一直没有使用过,试了一下还是挺方便的,就想着自己实现一下这个功能...实现 1、权限 首先我们要考虑的一个问题就是权限问题,因为要适配Android 7.0 8.0,添加悬浮窗是需要申请权限的,这里参考了Android 悬浮窗权限各机型各系统适配大全这篇文章,适配的比较全...WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; 19 } 20 mLayoutParams.format = PixelFormat.RGBA_8888; //窗口透明...,然后将mView动态滑动到窗口左边或者右边: 1//设置触摸滑动事件 2mView.setOnTouchListener(new View.OnTouchListener() { 3 int
一、窗口的概念 在开发过程中,我们经常会遇到,各种跟窗口相关的类,或者方法。但是,在 Android 的框架设计中,到底什么是窗口?...窗口跟 Android Framework 中的 Window 类又是什么关系?...三、窗口的创建与移除 在分析窗口的创建与移除之前,我们先简单来介绍一下 Android 的 GUI 系统,它包含以下部分内容: (1)窗口和图形系统—Window and View Manager System...3.1 应用窗口的创建 首先,我们来分析应用窗口的创建,这也是我们开发过程中,最先遇到的。从开发第一个 Hello World 的 Android 应用开始,我们就已经在接触应用窗口了。...(4)Android Framework 把窗口分为三种类型,应用窗口,子窗口以及系统窗口。
背景 ---- 游戏内的悬浮窗通常情况下只出现在游戏内,用做切换账号、客服中心等功能的快速入口。...本文将介绍几种实现方案,以及我们踩过的坑 方案一:应用外悬浮窗+栈顶权限/生命周期回调 ---- 通常实现悬浮窗,首先考虑到的会是要使用悬浮窗权限,用 WindowManager 在设备界面上 addView...实现( UI 层级较高,应用外显示) 1、弹出悬浮窗需要用到悬浮窗权限 悬浮窗权限--> android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 2、判断悬浮窗游戏内外显示...方式一:使用栈顶权限获取当前 //需要声明权限android:name="android.permission.GET_TASKS" /> //判断当前是否在后台private
rightM.popup({}); }); function createSuspensionWindow() { win = new BrowserWindow({ width: 107, //悬浮窗口的宽度...比实际DIV的宽度要多2px 因为有1px的边框 height: 27, //悬浮窗口的高度 比实际DIV的高度要多2px 因为有1px的边框 type: 'toolbar...', //创建的窗口类型为工具栏窗口 frame: false, //要创建无边框窗口 resizable: false, //禁止窗口大小缩放...遗留问题 在软件关闭之后重启会导致悬浮窗口的位置重置 也曾尝试在主进程中使用store.js 但是不能用!...使用electron制作百度网盘悬浮窗: https://github.com/lihaotian0... 目前这个开源代码中没有悬浮窗 有时间了会加上去!!!
这里使用的是:com.getbase.floatingactionbutton.FloatingActionsMenu 先说下它的配置:在app/build.gradle 添加以下代码依赖: //圆形悬浮按钮...implementation 'com.android.support:design:28.0.0' implementation 'com.getbase:floatingactionbutton...title 字体以及颜色的设置: FloatingActionButton默认无法显示文字的情况,所以这里需要对其配置样式; 在res/value/style中添加: android...:background">@drawable/fab_label_background //文字背景的样式 android:textColor">@...中添加自定义消灭了文件用于配置文字样式: 完成这些步骤之后只需在布局文件中调用即可: 这里是我的布局文件: // 设置方法如代码第六行所示 FloatingActionButton基本使用: /* 设置三个悬浮按钮的监听事件
3 6.0出现的悬浮窗权限 为什么从6.0说起?...在Android6.0之后,使用悬浮窗功能需要申请开启悬浮窗权限,在API23以下版本编译,悬浮窗权限关闭的,但是没有权限限制,在大于23版本编译,这个权限默认是关闭的,需要获取权限。...6.0之后判断是否有悬浮窗权限,没有则申请权限 android:name="android.permission.SYSTEM_OVERLAY_WINDOW"/>...1.Android8.0 修订记录中的内容: ?...主要代码 //8.0系统加强后台管理,禁止在其他应用和窗口弹提醒弹窗,如果要弹,必须使用TYPE_APPLICATION_OVERLAY if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
Android 各版本查询和开启悬浮窗权限 如果你是从事Android开发的程序员,那么你肯定对于权限这个词不会陌生,Android的权限分为一般权限和危险权限,一般权限(只需在AndroidManifest.xml...悬浮窗权限 悬浮窗权限不同于其他的权限如相机、相册、文件读写权限等,这些权限,动态申请后,用户只要的应用里面弹出来的提示框里面开启就可以了,并不会离开应用,而开启悬浮窗权限用户则需要进入到应用列表或者是应用详情里面开启悬浮窗权限...业务逻辑: APP默认是没有开启这个悬浮窗权限的,所以需要申请,而申请之后又要先判断有没有开启这个权限,这个判断是很重要的,你总不能每次都让用户去应用列表看这个权限有没有开启吧。...判断也是要分Android的版本的,如Android6.0、Android6.0至Android8.0、Android8.0以上,更低的版本就不考虑了,(你不要和我说你现在还用着Android4.4或者..." /> 权限检查 //判断是否开启悬浮窗权限 context可以用你的Activity.或者tiis public static boolean checkFloatPermission
View1刚划出顶部的时机就是: 当滑动时 firstVisibleItem>=要悬浮的 item的position时 让View2显示 ,否则隐藏。...> 2 android="http://schemas.android.com/apk/res/android" 3 android:orientation...LinearLayout> 要停留在顶部的View布局:(这里是要停留在顶部的View,这里addHeadView到ListView顶部,跟随者ListView滑动到顶部消失,这时满足firstVisibleItem>=要悬浮的...> android="http://schemas.android.com/apk/res/android" android:orientation="horizontal...添加头部 20 21 lv.addHeaderView(View.inflate(this, R.layout.stick_action, null));//ListView条目中的悬浮部分
//悬浮窗口 private LinearLayout mFloatLayout;...(实现操作除浮动窗口外的其他可见窗口的操作) wmParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE;...//调整悬浮窗显示的停靠位置为左侧置顶 wmParams.gravity = Gravity.RIGHT| Gravity.BOTTOM; //...getApplicationContext(), 20); wmParams.y = Dp2Px(getApplicationContext(), 80); //设置悬浮窗口长宽数据...wmParams.height = WindowManager.LayoutParams.WRAP_CONTENT; /*// 设置悬浮窗口长宽数据
> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http...://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent...:id="@+id/iv_cart" android:layout_width="50dp" android:layout_height="50dp" android...="true" android:layout_marginBottom="60dp" android:layout_marginEnd="20dp" android...isShowFloatImage) { //抬起手指1s后再显示悬浮按钮 //开始1s倒计时
领取专属 10元无门槛券
手把手带您无忧上云