diff --git a/README.md b/README.md index 4507f79..96a3518 100644 --- a/README.md +++ b/README.md @@ -37,11 +37,11 @@ ```groovy dependencies { - implementation 'io.github.petterpx:floatingx:2.3.0' + implementation 'io.github.petterpx:floatingx:2.3.1' // system浮窗&&compose时需要导入 // 记得AppHelper里调用 enableComposeSupport() - implementation 'io.github.petterpx:floatingx-compose:2.3.0' + implementation 'io.github.petterpx:floatingx-compose:2.3.1' } ``` diff --git a/README_EN.md b/README_EN.md index 3fadaf9..d24ac89 100644 --- a/README_EN.md +++ b/README_EN.md @@ -36,11 +36,11 @@ ```groovy dependencies { - implementation 'io.github.petterpx:floatingx:2.3.0' + implementation 'io.github.petterpx:floatingx:2.3.1' // System floating window && need to be imported when compose // AppHelper invoke enableComposeSupport() - implementation 'io.github.petterpx:floatingx-compose:2.3.0' + implementation 'io.github.petterpx:floatingx-compose:2.3.1' } ``` diff --git a/app/src/main/java/com/petterp/floatingx/app/kotlin/FxSystemSimple.kt b/app/src/main/java/com/petterp/floatingx/app/kotlin/FxSystemSimple.kt index 0f24ca3..fe33e80 100644 --- a/app/src/main/java/com/petterp/floatingx/app/kotlin/FxSystemSimple.kt +++ b/app/src/main/java/com/petterp/floatingx/app/kotlin/FxSystemSimple.kt @@ -11,6 +11,7 @@ import com.petterp.floatingx.app.BuildConfig import com.petterp.floatingx.app.MainActivity import com.petterp.floatingx.app.R import com.petterp.floatingx.app.simple.FxAnimationImpl +import com.petterp.floatingx.app.simple.FxConfigStorageToSpImpl import com.petterp.floatingx.app.test.BlackActivity import com.petterp.floatingx.app.test.ImmersedActivity import com.petterp.floatingx.app.test.MultipleFxActivity @@ -34,6 +35,7 @@ object FxSystemSimple { setLayout(R.layout.item_floating) setScopeType(FxScopeType.SYSTEM_AUTO) // 设置浮窗展示类型,默认可移动可点击,无需配置 + setSaveDirectionImpl(FxConfigStorageToSpImpl(context)) setDisplayMode(FxDisplayMode.Normal) // 设置权限拦截器 setPermissionInterceptor { activity, controller -> diff --git a/floatingx/src/main/java/com/petterp/floatingx/view/helper/FxViewLocationHelper.kt b/floatingx/src/main/java/com/petterp/floatingx/view/helper/FxViewLocationHelper.kt index 05da7d1..b1341bd 100644 --- a/floatingx/src/main/java/com/petterp/floatingx/view/helper/FxViewLocationHelper.kt +++ b/floatingx/src/main/java/com/petterp/floatingx/view/helper/FxViewLocationHelper.kt @@ -57,6 +57,8 @@ class FxViewLocationHelper : FxViewBasicHelper(), View.OnLayoutChangeListener { } override fun onInit() { + // 先刷新一下view大小,避免有时候sizeChanged没测量 + updateViewSize() val hasHistory = config.enableSaveDirection && config.iFxConfigStorage?.hasConfig() == true val locationFrom: String val (defaultX, defaultY) = if (hasHistory) { @@ -70,9 +72,10 @@ class FxViewLocationHelper : FxViewBasicHelper(), View.OnLayoutChangeListener { getDefaultXY(parentW, parentH, viewW, viewH) } // 判断坐标应该准确在哪里 - basicView?.updateXY(safeX(defaultX), safeY(defaultY)) + val (safeX, safeY) = safeX(defaultX) to safeY(defaultY) + basicView?.updateXY(safeX, safeY) isInitLocation = false - config.fxLog.d("fxView -> initLocation: x:$defaultX,y:$defaultY,way:[$locationFrom]") + config.fxLog.d("fxView -> initLocation: x:$safeX,y:$safeY,way:[$locationFrom]") } override fun onSizeChanged(w: Int, h: Int, oldW: Int, oldH: Int) { diff --git a/gradle/dev_compose.gradle b/gradle/dev_compose.gradle index 3c75d24..cb97758 100644 --- a/gradle/dev_compose.gradle +++ b/gradle/dev_compose.gradle @@ -16,6 +16,7 @@ dependencies { implementation platform("androidx.compose:compose-bom:2023.06.01") implementation "androidx.compose.ui:ui:1.3.3" implementation "androidx.compose.ui:ui-graphics" + implementation "androidx.compose.runtime:runtime-livedata" implementation "androidx.compose.ui:ui-tooling-preview" implementation "androidx.compose.material3:material3" debugImplementation 'androidx.compose.ui:ui-tooling'