android 悬浮按钮出现隐藏,Android悬浮窗按钮实现点击并显示/隐藏多功能列表
前言
最近在一个项目中,需要制作录屏的功能,原先是在应用中有录屏/控制的按钮,思考之下觉得这种效果并不好,因此就想制作一个可以悬浮的悬浮窗,这样不论手机在什么界面中都可以对录屏功能进行控制。
这里就来构建一个桌面的悬浮窗,使用了DataBinding的MVVM模式,这些方面就不再多提。
FloatNormalView
这个是一个普通的悬浮窗,悬浮窗只有一个按钮,点击按钮显示更多的按钮。
首先是页面布局:
name="viewModel"
type="com.example.zjt.floatrecorder.FloatNormalViewModel"/>
android:layout_width="50dp"
android:layout_height="50dp"
android:gravity="center">
android:id="@+id/root"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
android:id="@+id/float_id"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/ic_launcher_background"
android:onClick="@{viewModel::onControlClick}"/>
下面一步步的介绍这个悬浮窗的创建。
1 悬浮窗的显示
// 创建WindowManager对象
private WindowManager windowManager;
windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
// 创建悬浮窗的LayoutParams
private void initLayoutParams() {
try {
DisplayMetrics metrics = new DisplayMetrics();
windowManager.getDefaultDisplay().getMetrics(metrics);
screenWidth = metrics.widthPixels;
screenHeight = metrics.heightPixels;
lp = new WindowManager.LayoutParams();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
lp.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
} else {
lp.type = WindowManager.LayoutParams.TYPE_TOAST;
}
lp.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
lp.gravity = Gravity.START | Gravity.TOP;
lp.x = screenWidth - view.getLayoutParams().width * 2;
lp.y = 0;
lp.width = WindowManager.LayoutParams.WRAP_CONTENT;
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
lp.format = PixelFormat.TRANSPARENT;
} catch (Exception e) {
}
}
android 悬浮按钮出现隐藏,Android悬浮窗按钮实现点击并显示/隐藏多功能列表相关推荐
- 点击按钮之后右侧弹出导航,再点击右侧导航隐藏回去的实现
转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/53408091 本文出自[我是干勾鱼的博客] 实现了一个点击按钮之后右侧弹出导航, ...
- html图片自动收起代码,HTML代码实现点击图片显示/隐藏
今天晚上刚好放了国庆假期,也发现好久没有摆弄博客了,就摆弄在文章页面添加了个打赏提示,确实,泽以最近的日子真心不好过了,做工作室倒闭,免费主机供应不起暂停,自助下单平台(dsw)备案掉了也暂停了,流量 ...
- jquery实现div的隐藏和显示和点击空白显示隐藏
$('#button')是要点击的按钮,$('#view')是要显示或隐藏的内容区域 一.点击按钮显示隐藏 $(function () { $("#button").click(f ...
- 密码框点击眼睛显示隐藏
输入框input变成密码框只需要简简单单的添加一个type="password"就好了 <input type="password" id="i ...
- flutter控制显示隐藏_leaflet中如何通过透明度控制layerGroup的显示隐藏
最近在leaflet开发过程中,遇到地图数据需要按时序播放的需求,处理思路是将每个时间节点的要素添加到layerGroup中,然后通过切换layerGroup的显示隐藏来实现效果.翻看leaflet的 ...
- win10下如何隐藏Linux盘符,Win10专业版系统下如何显示隐藏盘符
在win10专业版系统中,很多用户都会在磁盘中保存很多重要的文件,考虑到安全问题,有部分用户会将保存有重要信息的盘符隐藏起来,但是有时候想要打开隐藏盘符,却不知道要如何显示隐藏盘符,其实方法很简单,这 ...
- uni-app点击编辑显示隐藏修改删除图标
在uni-app中点击编辑,显示隐藏修改删除图标. 特别感谢 我的同桌~
- android悬浮按钮弹出与隐藏,Android悬浮窗按钮实现点击并显示/隐藏多功能列表
前言 最近在一个项目中,需要制作录屏的功能,原先是在应用中有录屏/控制的按钮,思考之下觉得这种效果并不好,因此就想制作一个可以悬浮的悬浮窗,这样不论手机在什么界面中都可以对录屏功能进行控制. 这里就来 ...
- Android P在状态栏加入USB图标并根据插入/拔出状态显示/隐藏USB图标
代码路径: frameworks\base\packages\SystemUI\res\layout\system_icons.xml frameworks\base\packages\SystemU ...
- js写多余文字用省略号表示,点击可显示隐藏
因为是多段文字的隐藏,用js写比较麻烦,索性用jquery写了 html部分 <div><p class="word-length">超过20个字多余隐藏超 ...
最新文章
- Windows 下面的 redis GUI操作工具
- python 办公自动化-Python办公自动化|从Excel到Word
- CMSIS对异常和中断标识符、中断处理函数名以及中断向量异常号都有严格的要求。
- 实现一个EventTarget类
- python中常见的双下方法_python中常见的双下方法_python面向对象(5)__特殊双下方法...
- 离散事件模拟-银行管理
- C# window forms Treeview checkbox子节点和父节点相互选中的关系
- 小明用计算机算出58十35,人教版三年级数学下册第三四单元测试卷.docx
- 忘记linux密码怎么办?
- vs编译与停止调试时卡顿、无响应的问题
- STM8开发环境搭建(STVD + COSMIC)
- python字符串排列组合子集_python编程题:字符串的(所有可能的)排列组合
- 打造任何地方都能使用的markdown写作软件:Typora云端化
- 了解 Fetch API
- 我比较笨,我得一步一步来
- 个人项目 免费开源 基于STM32F103的oled示波器,频谱fft adc电压采集 spi接口0.96寸oled
- W3school离线手册2019资源下载
- WinDebug 调试工具-0
- oj-杭电 No Brainer
- 【C++】从无到有学习路线