推荐一款好用的安卓悬浮窗框架

悬浮窗框架

 

本框架意在解决一些极端需求,如果是普通的 Toast 封装推荐使用 ToastUtils

 

集成步骤

dependencies { 
     // 悬浮窗框架:https://github.com/getActivity/XToast 
    implementation 'com.hjq:xtoast:6.5' 
}

使用案例

// 传入 Application 对象表示设置成全局的
new XToast(XToastActivity.this)
        .setView(R.layout.toast_hint)
        // 设置成可拖拽的
        //.setDraggable()
        // 设置显示时长
        .setDuration(1000)
        // 设置动画样式
        .setAnimStyle(android.R.style.Animation_Translucent)
        // 设置外层不能被触摸
        .setOutsideTouchable(false)
        // 设置窗口背景阴影强度
        .setBackgroundDimAmount(0.5f)
        .setImageDrawable(android.R.id.icon, R.mipmap.ic_dialog_tip_finish)
        .setText(android.R.id.message, "点我消失")
        .setOnClickListener(android.R.id.message, new OnClickListener() {

            @Override
            public void onClick(XToast toast, TextView view) {
                // 点击这个 View 后消失
                toast.cancel();
                // 跳转到某个Activity
                // toast.startActivity(intent);
            }
        })
        .show();

框架亮点(原生 Toast 无法实现的功能)

  • 支持自定义 Toast 动画样式

  • 支持自定义 Toast 显示时长

  • 支持监听 Toast 的显示和销毁

  • 支持监听 Toast 中点击事件

  • 支持一键开启 Toast 拖拽功能

  • 支持 Toast 全局显示(需要悬浮窗权限)