Jetpack Compose LargeTopAppBar 显示标题两次

2024-04-02

我正在尝试使用 Scaffold 和 LargeTopAppBar 构建 Jetpack Compose 应用程序。我目前有一个非常简单的 UI,只有 Scaffold 中的 LargeTopAppBar,但是当我运行我的应用程序时,我在屏幕顶部看到两个小标题。

任何想法为什么会发生这种情况或如何解决它?我的活动代码如下

@OptIn(ExperimentalMaterial3Api::class)
class MainActivity : MonetCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        lifecycleScope.launchWhenCreated {
            monet.awaitMonetReady()
            setContent {
                TVTimeTheme(monetCompat = monet) {
                    val decayAnimationSpec = rememberSplineBasedDecay<Float>()
                    val topAppBarScrollState = rememberTopAppBarScrollState()
                    val scrollBehavior = remember(decayAnimationSpec) {
                       TopAppBarDefaults.exitUntilCollapsedScrollBehavior(
                          decayAnimationSpec, topAppBarScrollState
                       )
                    }

                    Scaffold (
                        topBar = {
                            LargeTopAppBar(
                                title = { Text(text = "movies") },
                                scrollBehavior = scrollBehavior
                            )
                        }
                   ) { innerPadding ->
                       Box(modifier = Modifier.padding(innerPadding))
                   }
               }
           }
       }
   }
}

这些帮助了我:

  • 在TabBar中仅使用material3组件(androidx.compose.material3.*),而不使用material(androidx.compose.material.*)组件
  • Remove defaultTextColor of titleLarge and bodyLarge在你的排版中
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jetpack Compose LargeTopAppBar 显示标题两次 的相关文章

随机推荐