From 577ac7e28c7bb66827b24c09695ecc91e1680589 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Fri, 18 Feb 2022 13:59:06 +0100 Subject: [PATCH] Weather widget: use buttons for day/time selectors For consistency with other widgets --- .../launcher/widgets/weather/WeatherWidget.kt | 41 ++++++++----------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/weather/WeatherWidget.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/weather/WeatherWidget.kt index ff7ae335..3e7809bd 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/weather/WeatherWidget.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/weather/WeatherWidget.kt @@ -87,7 +87,7 @@ fun WeatherWidget() { CurrentWeather(forecast, imperialUnits) Row( - modifier = Modifier.fillMaxWidth(), + modifier = Modifier.fillMaxWidth().padding(vertical = 2.dp), verticalAlignment = Alignment.CenterVertically ) { val dailyForecasts by viewModel.dailyForecasts.observeAsState(emptyList()) @@ -99,7 +99,7 @@ fun WeatherWidget() { onDaySelected = { viewModel.selectDay(it) }, - modifier = Modifier.weight(1f), + modifier = Modifier.weight(1f).padding(horizontal = 4.dp), imperialUnits = imperialUnits ) } @@ -110,7 +110,8 @@ fun WeatherWidget() { imperialUnits = imperialUnits, onTimeSelected = { viewModel.selectForecast(it) - } + }, + modifier = Modifier.weight(1f).padding(horizontal = 4.dp), ) } } @@ -247,15 +248,12 @@ fun WeatherDaySelector( ) { val menuExpanded = remember { mutableStateOf(false) } val dateFormat = SimpleDateFormat("EEE") - Row(modifier = modifier) { - Row( - modifier = Modifier - .clickable(onClick = { - menuExpanded.value = true - }) - .padding(16.dp), - verticalAlignment = Alignment.CenterVertically, - horizontalArrangement = Arrangement.Start + Box(modifier = modifier, contentAlignment = Alignment.CenterStart) { + TextButton( + onClick = { + menuExpanded.value = true + }, + colors = ButtonDefaults.textButtonColors(contentColor = MaterialTheme.colorScheme.onSurface) ) { WeatherIcon(icon = weatherIconById(selectedDay.icon)) Text( @@ -301,7 +299,6 @@ fun WeatherDaySelector( style = MaterialTheme.typography.titleSmall, softWrap = false, modifier = Modifier - .align(Alignment.CenterVertically) .padding(start = 16.dp, end = 8.dp) .weight(1f) ) @@ -314,7 +311,6 @@ fun WeatherDaySelector( }° / ${convertTemperature(imperialUnits, d.maxTemp)}°", softWrap = false, style = MaterialTheme.typography.titleSmall, - modifier = Modifier.align(Alignment.CenterVertically) ) } } @@ -336,20 +332,19 @@ fun WeatherTimeSelector( val dateFormat = remember { DateFormat.getTimeInstance(DateFormat.SHORT) } - Row( - modifier = modifier + Box( + modifier = modifier, + contentAlignment = Alignment.CenterEnd ) { - Row( - modifier = Modifier - .clickable(onClick = { - menuExpanded.value = true - }) - .padding(16.dp) + TextButton( + onClick = { + menuExpanded.value = true + }, + colors = ButtonDefaults.textButtonColors(contentColor = MaterialTheme.colorScheme.onSurface) ) { Text( text = dateFormat.format(selectedForecast.timestamp), style = MaterialTheme.typography.titleSmall, - modifier = Modifier.align(Alignment.CenterVertically) ) Icon( imageVector = Icons.Rounded.ArrowDropDown,