效果视频:
教程:
1.Xamarin项目Android端安装安卓nuget包
Install-Package XamarinLibrary.Xamarin.Android.PrincekinF.EasyFloat -Version 2.0.2
2.AndroidManifest.xml添加SYSTEM_ALERT_WINDOW权限(可选:用于系统浮窗)
3.参考原作者Android原生源码用法对照调用C#相应函数;
4.在Xamarin方面将EasyFloat相关控件使用Renderer方案在Xamarin.Forms显示;
5.涉及Xamarin.Forms Renderer的使用时,可以参考源码示例的代码进行相应处理。
其他资料:
Xamarin.Forms 演示EasyFloat的Sample的源码:
https://github.com/jingliancui/XamarinFormsEasyFloatSample
原生Android的EasyFloat源码:
https://github.com/princekin-f/EasyFloat
原生Android的EasyFloat的使用方法:
https://github.com/princekin-f/EasyFloat#%E5%AE%8C%E6%95%B4%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B
微软官方Renderer教程示例:
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/video-player/
EasyFloat特点功能:
支持单页面浮窗,无需权限申请
支持全局浮窗、应用前台浮窗,需要授权悬浮窗权限
自动权限检测、自动跳转浮窗权限管理页、自动处理授权结果
支持系统浮窗的页面过滤
支持拖拽,支持各种状态的回调
支持默认位置的设定,支持对齐方式和偏移量的设定
支持创建多个单页面浮窗、多个系统浮窗,Tag进行区分
支持出入动画的设定,有默认动画,可自行替换(策略模式)
使用简单、链式调用、可轻松修改浮窗View
支持Kotlin DSL,可按需回调状态,摆脱Java的繁琐
支持状态栏沉浸,侧滑打开、拖拽关闭
支持解锁更多姿势,如:拖拽缩放、通知弹窗...
后话:
本次为Xamarin.Android带来Android的浮窗控件,这控件的API不仅能在App层级浮窗,也能在系统层级浮窗,更多的功能特性也能在文中提到的特点功能看到。