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

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());

联系方式


在这里插入图片描述

微信公众号

在这里插入图片描述

发布了64 篇原创文章 · 获赞 115 · 访问量 12万+
展开阅读全文

关于Unity3d 调用Android jar 中的 悬浮框 没有显示的问题

03-17

Display display = activity.getWindowManager().getDefaultDisplay(); WindowManager mWM = (WindowManager) activity.getSystemService(activity.WINDOW_SERVICE); ImageView ivCursor = new ImageView(activity); try { Drawable drawable = Drawable.createFromStream(activity.getAssets().open("tom.jpg"), "tom"); System.out.println("------->"); ivCursor.setImageDrawable(drawable); //ivCursor.setBackground(new BitmapDrawable(BitmapFactory.decodeStream(activity.getAssets().open("Tom.jpg")))); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } WindowManager.LayoutParams mParams = new WindowManager.LayoutParams();// 对ivCursor对象的参数描述对象 System.out.println("------->1"); mParams.height = WindowManager.LayoutParams.WRAP_CONTENT; mParams.width = WindowManager.LayoutParams.WRAP_CONTENT; mParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;// 设置成不能获取焦点 mParams.type = LayoutParams.TYPE_PHONE; // 设置图片格式,效果为背景透明 mParams.format = PixelFormat.RGBA_8888; mParams.gravity = Gravity.TOP | Gravity.LEFT; mParams.x = 0;// 相对于屏幕原点的x轴距离 mParams.y = 0;// 相对于屏幕原点的y轴距离 System.out.println("------->0"); mWM.addView(ivCursor, mParams); System.out.println("<-------"); 这是悬浮框的代码 activity是继承了UnityPlayerActivity 的activity 为什么 最后一句mWM.addView(ivCursor, mParams);没有执行啊 有没有大神 做过类似的啊 提点下 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 点我我会动 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览