悬浮窗框架
-
码云地址:Gitee
-
博客地址:悬浮窗需求终结者
-
已投入公司项目多时,没有任何毛病,可胜任任何需求,点击此处下载Demo
本框架意在解决一些极端需求,如果是普通的 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 全局显示(需要悬浮窗权限)