我的onset方法看起来是这样的:

setContent {
  CaesarCipherTheme {
    Surface(
      modifier = Modifier.fillMaxSize(),
      color = MaterialTheme.colorScheme.background
    ) {
      Scaffold(
        modifier = Modifier.fillMaxWidth(),
        topBar = {
          TopAppBar(title = {
            Text(
              text = "Lorem Ipsum Dolor ...",
              textAlign = TextAlign.Center,
              fontSize = 32. sp,
              fontWeight = FontWeight.Bold)
          })
        }) {
        MainScreen()
      }
    }
  }
}

应用程序以这种方式出现:

Screen

内容从顶部开始,它的上半部分被TopAppBar覆盖.

What goes wrong here?

实际上,我希望内容从TopAppBar下面开始.

How can the issue become fixed?除了猜测一些填充和apply.

推荐答案

@tenter1 您需要使用scaffold提供的innerPadding参数来将填充应用到scaffold内部的内容区域.

你可以这样做:

Scaffold(
            modifier = Modifier.fillMaxSize(),
            topBar = {}
        )
    { 
    
    //inner padding parameter
    innerPadding ->
    
    //add a modifier to the MainScreen Composable and pass the innerPadding
    MainScreen(modifier = Modifier.padding(innerPadding)
    
    }

这应该有助于正确放置顶部和底部的杆.

Android相关问答推荐

编写Inbox需要具有匹配兼容性的Kotlin版本

如何使TextField的背景透明?

如何解决Android Studio中的in fragment问题

在不增加父行宽度的情况下添加延迟行或可滚动行

有人能帮我在应用程序上使用模拟位置时避免被发现吗?我已经反编译并粘贴了一个代码,S小文件

如何删除Jetpack Compose中的Textfield底线

如何将我的Android应用程序(Kotlin)中的图像分享给其他应用程序?

如何从URI中获取图像大小

在 Compose 中,当用户持续向下滚动时,LazyColumn 不会显示新项目

从我的 Android 应用程序发送到 Gin 时失败,但从 Postman 发送到 Gin 时成功

为什么 Android Studio 中的 theme.xml 目录没有任何原色

Android Studio XML 文本在 ConstraintLayout 中不居中

Android Transitions API - 在 24-48 小时后停止接收任何更新

Jetpack Compose Arc 进度条动画(如何重启动画)

如何在 BasicTextField 中全选焦点

react 从输入中找到路径'lib/arm64-v8a/libfbjni.so'的本机2个文件

从expose 的 dropdownMenu 可组合、jetpack 组合中 Select 选项时,不会触发文本字段的 onValueChange

Android Jetpack Compose - 找不到 R.drawable?

未解决的参考:getIntentSender / try 在 Jetpack Compose 中获取电话号码时

ObjectBox,如何在冲突中放弃一切迁移?