feat: add custom ripple for back button
This commit is contained in:
parent
1f358e3599
commit
30e4aad112
|
@ -1,17 +1,20 @@
|
||||||
package com.simplemobiletools.calculator.compose.screens
|
package com.simplemobiletools.calculator.compose.screens
|
||||||
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.*
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||||
import androidx.compose.foundation.layout.*
|
import androidx.compose.foundation.layout.*
|
||||||
import androidx.compose.foundation.rememberScrollState
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.foundation.verticalScroll
|
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.ArrowBack
|
import androidx.compose.material.icons.filled.ArrowBack
|
||||||
|
import androidx.compose.material.ripple.LocalRippleTheme
|
||||||
|
import androidx.compose.material.ripple.rememberRipple
|
||||||
import androidx.compose.material3.*
|
import androidx.compose.material3.*
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
import androidx.compose.runtime.SideEffect
|
import androidx.compose.runtime.SideEffect
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.graphics.lerp
|
import androidx.compose.ui.graphics.lerp
|
||||||
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||||
|
@ -67,7 +70,7 @@ fun SettingsScreen(
|
||||||
systemUiController.setStatusBarColor(Color.Transparent, darkIcons = scrolledColor.isNotLitWell())
|
systemUiController.setStatusBarColor(Color.Transparent, darkIcons = scrolledColor.isNotLitWell())
|
||||||
}
|
}
|
||||||
val startingPadding = Modifier.padding(horizontal = 4.dp)
|
val startingPadding = Modifier.padding(horizontal = 4.dp)
|
||||||
|
val navigationIconInteractionSource = remember { MutableInteractionSource() }
|
||||||
Scaffold(
|
Scaffold(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxSize()
|
.fillMaxSize()
|
||||||
|
@ -87,8 +90,13 @@ fun SettingsScreen(
|
||||||
Icon(
|
Icon(
|
||||||
imageVector = Icons.Filled.ArrowBack, contentDescription = stringResource(id = R.string.back),
|
imageVector = Icons.Filled.ArrowBack, contentDescription = stringResource(id = R.string.back),
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.clickable { goBack() }
|
.padding(start = 8.dp)
|
||||||
.padding(start = 8.dp),
|
.clip(RoundedCornerShape(50))
|
||||||
|
.clickable(
|
||||||
|
navigationIconInteractionSource, rememberRipple(
|
||||||
|
color = MaterialTheme.colorScheme.onSurface
|
||||||
|
)
|
||||||
|
) { goBack() },
|
||||||
tint = scrolledColor
|
tint = scrolledColor
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
|
|
@ -441,3 +441,6 @@ val default_app_icon_color = color_primary
|
||||||
val default_accent_color = color_primary
|
val default_accent_color = color_primary
|
||||||
val default_widget_bg_color = Color(0xAA000000)
|
val default_widget_bg_color = Color(0xAA000000)
|
||||||
val default_widget_text_color = color_primary
|
val default_widget_text_color = color_primary
|
||||||
|
|
||||||
|
val ripple_light = Color(0x1f000000)
|
||||||
|
val ripple_dark = Color(0x33ffffff)
|
||||||
|
|
Loading…
Reference in New Issue