使用enableEdgeToEdge()时Compose脚手架填充值太大

问题描述 投票:0回答:1

我正在使用撰写脚手架提供的

paddingValues
来说明我的应用程序中的底部栏。

我还刚刚实现了

enableEdgeToEdge()
提供的新
androidx.activity:activity-compose:1.8.0
功能,使导航栏透明。

应用enableEdgeToEdge()之前

的填充值:

PaddingValues(start=0.0.dp, top=0.0.dp, end=0.0.dp, bottom=80.0.dp)

应用 enableEdgeToEdge() 之后

的填充值:

PaddingValues(start=0.0.dp, top=50.333332.dp, end=0.0.dp, bottom=104.0.dp)

正如您在使用

enableEdgeToEdge()
时所看到的,它会增加填充值并且内容会变小。这已在 Pixel 8 Pro 上进行了测试。

我正在使用

androidx.compose:compose-bom:2023.10.00

完整代码:

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

    setContent {
        val navController = rememberNavController()

        TSViewerTheme {
            Scaffold (
                bottomBar = {
                    BottomNavBar(
                        navController = navController,
                    )
                },
                content = { paddingValues ->
                    NavHost(navController = navController, startDestination = startDestination, modifier = Modifier.padding(paddingValues).fillMaxSize()){
                        // Screens
                    }
                }
            )
        }
    }
}

有解决这个问题的方法还是我应该等待依赖项的更新?

对比截图:

android android-activity android-jetpack-compose androidx
1个回答
0
投票

找到解决方案:

将此行添加到所有脚手架(主 + 屏幕):

contentWindowInsets = WindowInsets(0.dp), 
© www.soinside.com 2019 - 2024. All rights reserved.