Skip to content

Commit d265cbb

Browse files
authored
Merge pull request #2 from Petterpx/dev
fix:修复悬浮窗attach时的逻辑判断
2 parents 3f95451 + 3799ac4 commit d265cbb

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

core/src/main/java/com/petterp/floatingx/impl/FxControlImpl.kt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ open class FxControlImpl(private val helper: FxHelper) : IFxControl {
9191
}
9292
FxDebug.d("view-lifecycle-> addView")
9393
mContainer = WeakReference(container)
94-
container.addView(managerView)
94+
addManagerView()
9595
}
9696

9797
/** 删除view */
@@ -132,11 +132,14 @@ open class FxControlImpl(private val helper: FxHelper) : IFxControl {
132132
attach(topActivity!!)
133133
return
134134
}
135-
if (managerView == null) initManagerView()
136-
// 判断悬浮窗有没有已添加,如果未添加,而且不在当前decorView中
137-
if (ViewCompat.isAttachedToWindow(managerView!!) && getContainer() != managerView?.parent) {
138-
getContainer()?.addView(managerView)
139-
}
135+
initManagerView()
136+
addManagerView()
137+
}
138+
139+
private fun addManagerView() {
140+
FxDebug.d("view-lifecycle-> addView")
141+
getContainer()?.removeView(managerView)
142+
getContainer()?.addView(managerView)
140143
}
141144

142145
open fun initManagerView(@DrawableRes layout: Int = 0) {

0 commit comments

Comments
 (0)