-
public abstract class FxBasisHelper.Builder<T extends Object, B extends FxBasisHelper>
-
-
Constructor Summary
Constructors Constructor Description FxBasisHelper.Builder()
-
Method Summary
Modifier and Type Method Description Bbuild()final TsetLayout(@LayoutRes() Integer layoutId)设置悬浮窗view的layout final TsetLayoutView(View view)设置悬浮窗View final TsetEnableTouch(Boolean isEnable)是否允许浮窗移动 -(onTouchEvent)true -> 浮窗允许移动false -> 浮窗屏蔽移动Tips: 不影响原有手势事件的传递流程 final TsetDisplayMode(FxDisplayMode mode)设置浮窗展示模式 final TsetEnableScrollOutsideScreen(Boolean isEnable)设置启用屏幕外滚动 默认为true,即悬浮窗可以拖动到全屏任意位置(除了状态栏与导航栏禁止覆盖) false时,可拖动范围受 borderMargin-边框偏移 与 moveEdge-边缘偏移 限制 即可拖动范围=屏幕大小-(borderMargin+moveEdge+系统状态栏与导航栏(y轴)) final TsetEnableEdgeAdsorption(Boolean isEnable)设置启用边缘自动吸附,默认启用 final TsetEdgeAdsorbDirection(FxAdsorbDirection direction)设置边缘吸附方向,默认 FxAdsorbDirection.LEFT_OR_RIGHT final TsetOnClickListener(Long time, View.OnClickListener clickListener)设置悬浮窗点击事件 clickListener 点击事件 time 重复时间-> default=500ms final TsetOnClickListener(View.OnClickListener clickListener)设置悬浮窗点击事件 clickListener 点击事件 time 重复时间-> default=500ms final TsetOnLongClickListener(View.OnLongClickListener listener)设置悬浮窗长按事件 ifxLongClickListener final TsetManagerParams(FrameLayout.LayoutParams layoutParams)设置悬浮窗的layoutParams,即浮窗容器,非自己传递进去的用于显示的View默认wrap-wrapps: 不建议自行调用,此方法会影响浮窗的展示效果 final TsetEdgeOffset(Float edge)设置边缘吸附的偏移量 final TsetBorderMargin(Float t, Float l, Float b, Float r)设置悬浮窗可移动位置偏移 final TsetTopBorderMargin(Float t)设置可移动范围内相对屏幕顶部偏移量 final TsetLeftBorderMargin(Float l)设置可移动范围内相对屏幕左侧偏移量 final TsetRightBorderMargin(Float r)设置可移动范围内相对屏幕右侧偏移量 final TsetBottomBorderMargin(Float b)final TsetEnableLog(Boolean isLog, String tag)final TsetEnableLog(Boolean isLog)final TsetEnableLog()final TsetX(Float x)设置默认的x坐标 final TsetY(Float y)设置默认的y坐标 final TsetXY(Float x, Float y)设置默认x,y坐标 final TsetOffsetXY(Float x, Float y)调用此方法,将忽视传递的(x,y)。 浮窗的坐标将根据 传递进来的 gravity + 此方法传入的偏移量 计算,而非直接坐标。 这样的好处是,你不用去关注具体浮窗坐标应该是什么,而是可以依靠参照物的方式摆放。 比如默认你的浮窗在右下角,但是想增加一点在右侧偏移,此时就可以依靠此方法,将浮窗位置设置在右下角,然后增加相应方向的偏移量即可。 final TsetEnableAnimation(Boolean isEnable)设置是否启用动画 final TsetGravity(FxGravity gravity)设置悬浮窗视图默认位置,默认右下角,注意:此方法会影响setX()||setY() final TsetAnimationImpl(FxAnimation fxAnimation)设置启用动画具体实现 final TsetViewLifecycle(IFxViewLifecycle iFxViewLifecycle)设置悬浮窗view-lifecycle final TsetScrollListener(IFxTouchListener listener)final TsetTouchListener(IFxTouchListener listener)设置悬浮窗view-移动监听 final TsetSaveDirectionImpl(IFxConfigStorage iFxConfigStorage)设置存储坐标保存实现逻辑 -
-
Method Detail
-
setLayoutView
final T setLayoutView(View view)
设置悬浮窗View
-
setEnableTouch
@Deprecated(message = 已废弃,建议使用 [setDisplayMode()]) final T setEnableTouch(Boolean isEnable)
是否允许浮窗移动 -(onTouchEvent)
true -> 浮窗允许移动
false -> 浮窗屏蔽移动
Tips: 不影响原有手势事件的传递流程
- Parameters:
isEnable- 默认true
-
setDisplayMode
final T setDisplayMode(FxDisplayMode mode)
设置浮窗展示模式
- Parameters:
mode- 默认是FxDisplayMode.Normal
-
setEnableScrollOutsideScreen
final T setEnableScrollOutsideScreen(Boolean isEnable)
设置启用屏幕外滚动 默认为true,即悬浮窗可以拖动到全屏任意位置(除了状态栏与导航栏禁止覆盖) false时,可拖动范围受 borderMargin-边框偏移 与 moveEdge-边缘偏移 限制 即可拖动范围=屏幕大小-(borderMargin+moveEdge+系统状态栏与导航栏(y轴))
-
setEnableEdgeAdsorption
final T setEnableEdgeAdsorption(Boolean isEnable)
设置启用边缘自动吸附,默认启用
-
setEdgeAdsorbDirection
final T setEdgeAdsorbDirection(FxAdsorbDirection direction)
设置边缘吸附方向,默认 FxAdsorbDirection.LEFT_OR_RIGHT
-
setOnClickListener
@JvmOverloads() final T setOnClickListener(Long time, View.OnClickListener clickListener)
设置悬浮窗点击事件 clickListener 点击事件 time 重复时间-> default=500ms
-
setOnClickListener
@JvmOverloads() final T setOnClickListener(View.OnClickListener clickListener)
设置悬浮窗点击事件 clickListener 点击事件 time 重复时间-> default=500ms
-
setOnLongClickListener
final T setOnLongClickListener(View.OnLongClickListener listener)
设置悬浮窗长按事件 ifxLongClickListener
-
setManagerParams
final T setManagerParams(FrameLayout.LayoutParams layoutParams)
设置悬浮窗的layoutParams,即浮窗容器,非自己传递进去的用于显示的View
默认wrap-wrap
ps: 不建议自行调用,此方法会影响浮窗的展示效果
-
setEdgeOffset
final T setEdgeOffset(Float edge)
设置边缘吸附的偏移量
-
setTopBorderMargin
final T setTopBorderMargin(Float t)
设置可移动范围内相对屏幕顶部偏移量
-
setLeftBorderMargin
final T setLeftBorderMargin(Float l)
设置可移动范围内相对屏幕左侧偏移量
-
setRightBorderMargin
final T setRightBorderMargin(Float r)
设置可移动范围内相对屏幕右侧偏移量
-
setBottomBorderMargin
final T setBottomBorderMargin(Float b)
-
setEnableLog
@JvmOverloads() final T setEnableLog(Boolean isLog, String tag)
-
setEnableLog
@JvmOverloads() final T setEnableLog(Boolean isLog)
-
setEnableLog
@JvmOverloads() final T setEnableLog()
-
setOffsetXY
final T setOffsetXY(Float x, Float y)
调用此方法,将忽视传递的(x,y)。 浮窗的坐标将根据 传递进来的 gravity + 此方法传入的偏移量 计算,而非直接坐标。 这样的好处是,你不用去关注具体浮窗坐标应该是什么,而是可以依靠参照物的方式摆放。 比如默认你的浮窗在右下角,但是想增加一点在右侧偏移,此时就可以依靠此方法,将浮窗位置设置在右下角,然后增加相应方向的偏移量即可。
-
setEnableAnimation
final T setEnableAnimation(Boolean isEnable)
设置是否启用动画
-
setGravity
final T setGravity(FxGravity gravity)
设置悬浮窗视图默认位置,默认右下角,
注意:此方法会影响setX()||setY()
-
setAnimationImpl
final T setAnimationImpl(FxAnimation fxAnimation)
设置启用动画具体实现
- Parameters:
fxAnimation- 动画的具体实现类
-
setViewLifecycle
final T setViewLifecycle(IFxViewLifecycle iFxViewLifecycle)
设置悬浮窗view-lifecycle
-
setScrollListener
@Deprecated(replaceWith = @ReplaceWith(imports = {}, expression = setTouchListener), message = use setTouchListener) final T setScrollListener(IFxTouchListener listener)
-
setTouchListener
final T setTouchListener(IFxTouchListener listener)
设置悬浮窗view-移动监听
-
setSaveDirectionImpl
final T setSaveDirectionImpl(IFxConfigStorage iFxConfigStorage)
设置存储坐标保存实现逻辑
- Parameters:
iFxConfigStorage- 传入IFxConfig对象, 也可自行实现接口,自定义具体实现逻辑
-
-
-
-