fun Button(title: String, modifier: Modifier = Modifier, action: () -> Unit)Overview
Give a button a title, a title and an SF Symbol, or any composable content as its label. The action is a plain Kotlin lambda, so it can call your ViewModel directly.
Button("Increment", action = vm::increment)
Button(action = { vm.delete(item) }) {
Label("Delete", systemImage = SFSymbol.trash)
}This is the Kotlin form of SwiftUI Button.init(_:action:): SwiftUI documentation. In Swift it reads:
@preconcurrency nonisolated init<S>(_ title: S, action: @escaping @MainActor () -> Void) where S : StringProtocolTopics
Creating a Button
fun Button(role: ButtonRole?, modifier: Modifier = Modifier, action: () -> Unit, content: @Composable () -> Unit)
fun Button(modifier: Modifier = Modifier, action: () -> Unit, content: @Composable () -> Unit)
fun Button(role: ButtonRole, modifier: Modifier = Modifier, action: () -> Unit)
fun Button(title: String, role: ButtonRole?, modifier: Modifier = Modifier, action: () -> Unit)
fun Button(title: String, modifier: Modifier = Modifier, action: () -> Unit)
fun Button(title: String, systemImage: SFSymbol, role: ButtonRole?, modifier: Modifier = Modifier, action: () -> Unit)
fun Button(title: String, systemImage: SFSymbol, modifier: Modifier = Modifier, action: () -> Unit)
fun Button(titleResource: LocalizedKey, role: ButtonRole?, modifier: Modifier = Modifier, action: () -> Unit)
fun Button(titleResource: LocalizedKey, modifier: Modifier = Modifier, action: () -> Unit)
fun Button(titleResource: LocalizedKey, systemImage: SFSymbol, role: ButtonRole?, modifier: Modifier = Modifier, action: () -> Unit)
fun Button(titleResource: LocalizedKey, systemImage: SFSymbol, modifier: Modifier = Modifier, action: () -> Unit)
fun Button(titleKey: LocalizedKey? = null, role: ButtonRole? = null, systemImage: SFSymbol? = null, modifier: Modifier = Modifier, action: (() -> Unit)? = null)
Methods
fun ButtonRole(titleKey: LocalizedKey, role: ButtonRole?, modifier: Modifier = Modifier, action: () -> Unit)
fun ButtonAction(titleKey: LocalizedKey, modifier: Modifier = Modifier, action: () -> Unit)
fun ButtonSystemImage(titleKey: LocalizedKey, systemImage: SFSymbol, role: ButtonRole?, modifier: Modifier = Modifier, action: () -> Unit)
fun ButtonSystemImage(titleKey: LocalizedKey, systemImage: SFSymbol, modifier: Modifier = Modifier, action: () -> Unit)