小编dio*_*dna的帖子

Jetpack Compose:将视图添加到窗口管理器时崩溃

我尝试将 jetpack 撰写视图添加到窗口管理器以获取应用程序叠加视图。但该应用程序正在崩溃。我使用以下代码来添加 jetpack 撰写视图。当我尝试 XML 布局时它工作正常。还有其他人遇到过这个问题吗?提前致谢。

private val overlayWindowManager by lazy {
    getSystemService(Context.WINDOW_SERVICE)
            as WindowManager
}

 private fun initWindowManager() {
    val params = WindowManager.LayoutParams(
        WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
        WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
        PixelFormat.TRANSLUCENT
    )
    params.gravity = Gravity.RIGHT or Gravity.TOP
    overlayWindowManager.addView(ComposeView(this).apply {
        setContent {  Text("WINDOW") }
    }, params)
}
Run Code Online (Sandbox Code Playgroud)

错误日志

 java.lang.IllegalStateException: ViewTreeLifecycleOwner is not present in this window. Use ComponentActivity, FragmentActivity or AppCompatActivity to configure ViewTreeLifecycleOwner automatically, or call ViewTreeLifecycleOwner.set() for this View or an ancestor in the same window.
    at androidx.compose.ui.platform.AbstractComposeView.onAttachedToWindow(ComposeView.kt:176)
    at android.view.View.dispatchAttachedToWindow(View.java:20479)
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3489) …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose

12
推荐指数
2
解决办法
4497
查看次数

标签 统计

android ×1

android-jetpack-compose ×1