I want to use the .shadow operator to add a shadow to my button, but as you can see in the image, I got a white background. enter image description here

推荐答案

Jetpack中的修改器数量多达Modifier.shadow()个.首先使用shadow.

Button(
    modifier = Modifier
        .shadow(2.dp, RoundedCornerShape(2.dp))
        .height(36.dp),
    onClick = { /*TODO*/ }) {
    Text("Button")
}

vs

Button(
    modifier = Modifier
        .height(36.dp)
        .shadow(2.dp, RoundedCornerShape(2.dp)),
    onClick = { /*TODO*/ }) {
    Text("Button")
}

enter image description here

但这不是为按钮设置高程的方式.这是为了演示如何修改.shadow()顺序改变结果,可能对某些可组合性很有帮助,但需要使用按钮

Button(
    modifier = Modifier.height(36.dp),
    shape = RoundedCornerShape(2.dp),
    elevation = ButtonDefaults.elevation(...),
    onClick = { /*TODO*/ }) {
    Text("Button")
}

高程函数具有不同状态的属性,例如

  @Composable
    fun elevation(
        defaultElevation: Dp = 2.dp,
        pressedElevation: Dp = 8.dp,
        disabledElevation: Dp = 0.dp,
        hoveredElevation: Dp = 4.dp,
        focusedElevation: Dp = 4.dp,
    )

Android相关问答推荐

CameraX与jetpack组成屏幕逻辑

图像在Android Studio中显示,但不在设备中显示

RemoteActivityHelper.startRemoteActivity不适用于Android Wear OS 4模拟器

Jetpack Compose:如何将浮动操作按钮上方的子按钮居中对齐?

格雷德的两个星号是什么意思?非路径

Android v31 及更低版本中 ImageView 中的圆角

Kotlin - 在继续之前如何等待这个协程完成?

从包含的(复合)模块导入 Kotlin 类时,Android 应用程序模块的 build.gradle.kts 未解决的引用错误

Android kotlin 中闪屏 API 执行完成后如何根据身份验证将用户导航到特定屏幕

Android Studio 在 list 文件中已经声明了活动类,但仍出现无法找到明确的活动类的错误

Electric Eel 后 Gradle 项目同步失败 | 2022.1.1更新

AirDroid Business 如何能够从屏幕截图中排除覆盖?

Material Design 网站的新设计已启动,但我找不到实现选项卡,该选项卡在哪里?

Android Compose:LazyColumn 和 Column with verticalScroll 的区别

在jetpack compose中将图像添加到脚手架顶部栏

删除一对多关系室 Kotlin 中的所有值

在 android list 中添加 IsMonitoringTool 元数据标志的位置

设备文件资源管理器-ROOM 数据库中的数据库文件夹为空

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

Android Java Keystore 在另一台机器上损坏