薛翔的技术专栏 专注移动开发

XFloatView 一个简易的悬浮窗实现方案

2018-12-03
xuexiangjys

阅读:


XFloatView

xfv api

一个简易的悬浮窗实现方案

关于我

github csdn

特征

  • 支持自定义布局的悬浮窗。

  • 支持自定义拖动事件、点击事件。

  • 支持悬浮窗自动吸附效果。

  • 支持初始化悬浮窗的位置。

  • 支持悬浮窗翻转吸附。


1、演示(请star支持)

1.1、Demo演示动画

1.2、Demo下载

downloads

2、如何使用

目前支持主流开发工具AndroidStudio的使用,直接配置build.gradle,增加依赖即可.

2.1、Android Studio导入方法,添加Gradle依赖

1.先在项目根目录的 build.gradle 的 repositories 添加:

allprojects {
     repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}

2.然后在dependencies添加:

dependencies {
  ...
  implementation 'com.github.xuexiangjys:XFloatView:1.0.1'
}

2.2、继承XFloatView,实现自定义窗体

主要需要实现如下抽象方法:

/**
 * @return 获取根布局的ID
 */
protected abstract int getLayoutId();

/**
 * @return 能否移动或者触摸响应
 */
protected abstract boolean canMoveOrTouch();

/**
 * 初始化悬浮控件
 */
protected abstract void initFloatView();

/**
 * 初始化监听
 */
protected abstract void initListener();

/**
 * @return 设置悬浮框是否吸附在屏幕边缘
 */
protected abstract boolean isAdsorbView();

点击查看示例代码

2.3、悬浮窗的权限申请

FloatWindowPermission.getInstance().applyFloatWindowPermission(getContext());

联系方式


Comments

Content