【问题标题】:TopAppBar does not drop shadowTopAppBar 不投影
【发布时间】:2021-12-29 09:43:49
【问题描述】:

我的 Scaffold 中有一个 TopAppBar 在我的可组合组件中,但它并没有像它应该做的那样投下阴影:

@Composable
fun MainScreen(navController: NavController) {
    Scaffold(
        topBar = {
            TopAppBar(
                title = { Text(text = stringResource(id = R.string.appName)) },
            )
        }
    ) {
        Text("Composable content")
    }
}

即使我手动设置高度,它也不会留下任何阴影:

    TopAppBar(
        title = { Text(text = stringResource(id = R.string.appName)) },
        elevation = 4.dp
    )

需要做什么才能让 AppBar 投下阴影?

【问题讨论】:

    标签: android material-design android-jetpack-compose


    【解决方案1】:

    你能在 Box 里试试这个吗?

    Surface(
            modifier = Modifier.fillMaxSize(),
            color = Color.White,
        ) {
            Column (){
                Box(modifier = Modifier.height(80.dp)) {
                    TopAppBar(
                        backgroundColor = Color.White,
                        title = { Text("Title") },
                        elevation = 10.dp
                    )
                }
                Text(text = "Composable content", style = TextStyle(
                    color = Color.Black
                ))
            }
        }
    

    【讨论】:

    • 嘿,在尝试您的代码时,我意识到问题出在 backgroundColor 属性中。如果我将其设置为白色作为您的示例,则该条会产生阴影,但如果我将其删除或使用 backgroundColor = MaterialTheme.colors.primary 设置它,则没有阴影...
    • 其实,深色的阴影很难看出来,比如用黄色试试。
    猜你喜欢
    • 1970-01-01
    • 2018-08-06
    • 1970-01-01
    • 2016-06-21
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 2012-11-02
    相关资源
    最近更新 更多