Skip to content

Instantly share code, notes, and snippets.

View takahirom's full-sized avatar

Takahiro Menju takahirom

View GitHub Profile
@Composable
fun SettingScreen(
settingViewModel: SettingViewModel = viewModel(),
scaffoldState: ScaffoldState = rememberScaffoldState(),
coroutinesScope: CoroutineScope = rememberCoroutineScope(),
) {
val isDarkMode by settingViewModel.isDarkMode.collectAsState()
SettingScreen(
scaffoldState = scaffoldState,
isDarkModeSetting = isDarkMode,
class SettingViewModel(
val scaffoldState: ScaffoldState
) : ViewModel()
@Composable
fun SettingScreen() {
val scaffoldState = rememberScaffoldState()
val settingViewModel = viewModes(factory = { SettingViewModel.Factory.create(scaffoldState) })
}
@Composable
fun SettingScreen(
settingViewModel: SettingViewModel = viewModel()
) {
val isDarkMode by settingViewModel.isDarkMode.collectAsState()
MySwitch(checked = isDarkMode, onCheckChanged = {
settingViewModel.onDarkModeChange(it)
})
}
// stateful
@Composable
fun SettingScreen(
settingViewModel: SettingViewModel = viewModel()
) {
val isDarkMode by settingViewModel.isDarkMode.collectAsState()
SettingScreen(isDarkModeSetting = isDarkMode, onDarkModeSettingChanged = {
settingViewModel.onDarkModeChange(it)
})
}
@Composable
fun Screen() {
// I have a state in both Screen and MySwitch.
var checked by remember { mutableStateOf(false) }
Row {
MySwitch(initialChecked = false, onCheckChanged = {checked = it})
Text(
text = if(checked) "on" else "false",
Modifier.clickable {
checked = !checked
@Composable
fun Screen() {
// State has only on Screen
var checked by remember { mutableStateOf(false) }
Row {
MySwitch(checked = checked, onCheckChanged = { checked = it })
Text(
text = if (checked) "on" else "false",
Modifier.clickable {
checked = !checked
@Composable
fun Screen() {
MySwitch()
}
@Composable
fun MySwitch() {
var checked by remember { mutableStateOf(false) }
Switch(
checked = checked,
@Composable
fun Screen() {
var checked by remember { mutableStateOf(false) }
MySwitch(checked = checked, onCheckChanged = { checked = it })
}
@Composable
fun MySwitch(checked: Boolean, onCheckChanged: (Boolean) -> Unit) {
Switch(
checked = checked,
@Composable
fun MySwitch() {
var checked by remember { mutableStateOf(false) }
Switch(
checked = checked,
onCheckedChange = {
checked = it
}
)
}
@Composable
fun MySwitch() {
var checked by remember { mutableStateOf(false) }
// In the scope of the Composable function,
// I'm changing the checked!
checked = !checked
Switch(
checked = checked,
onCheckedChange = {
checked = it