Skip to content

Instantly share code, notes, and snippets.

View pauloaapereira's full-sized avatar

Paulo Pereira pauloaapereira

View GitHub Profile
@pauloaapereira
pauloaapereira / weatherfy_7.kt
Created March 18, 2021 19:37
AndroidDevChallenge_Week4_JetWeatherfy_7
@Composable
private fun FoldedCells(
isOpened: Boolean,
foldingDuration: Int,
foldCells: List<@Composable () -> Unit>
) {
Column {
foldCells.forEachIndexed { index, cell ->
FoldedCell(
isOpened = isOpened,
@pauloaapereira
pauloaapereira / weatherfy_6.kt
Created March 18, 2021 19:30
AndroidDevChallenge_Week4_JetWeatherfy_6
@Composable
private fun MainCell(
isOpened: Boolean,
cellsQuantity: Int,
foldingDuration: Int,
content: @Composable () -> Unit
) {
val mainCellTransition = updateTransition(targetState = isOpened)
val mainCellAlpha by mainCellTransition.animateFloat(
@pauloaapereira
pauloaapereira / weatherfy_5.kt
Last active March 18, 2021 19:24
AndroidDevChallenge_Week4_JetWeatherfy_5
@Composable
fun Curtain(
isOpenedFromOutside: Boolean? = null,
foldingDuration: Int = 250,
mainCell: @Composable () -> Unit,
foldCells: List<@Composable () -> Unit>
) {
var isOpened by remember { mutableStateOf(false) }
var isTransitionRunning by remember { mutableStateOf(false) }
val foldScope = rememberCoroutineScope()
@pauloaapereira
pauloaapereira / weatherfy_4.kt
Created March 18, 2021 19:19
AndroidDevChallenge_Week4_JetWeatherfy_4
@Composable
fun Curtain(
isOpenedFromOutside: Boolean? = null,
foldingDuration: Int = 250,
mainCell: @Composable () -> Unit,
foldCells: List<@Composable () -> Unit>
) {
var isOpened by remember { mutableStateOf(false) }
var isTransitionRunning by remember { mutableStateOf(false) }
@pauloaapereira
pauloaapereira / weatherfy_3.kt
Created March 18, 2021 19:10
AndroidDevChallenge_Week4_JetWeatherfy_3
@Composable
fun Curtain(
isOpenedFromOutside: Boolean? = null,
foldingDuration: Int = 250,
mainCell: @Composable () -> Unit,
foldCells: List<@Composable () -> Unit>
) {
var isOpened by remember { mutableStateOf(false) }
var isTransitionRunning by remember { mutableStateOf(false) }
val foldScope = rememberCoroutineScope()
@pauloaapereira
pauloaapereira / weatherfy_2.kt
Created March 18, 2021 19:01
AndroidDevChallenge_Week4_JetWeatherfy_2
@Composable
fun Curtain(
isOpenedFromOutside: Boolean? = null,
foldingDuration: Int = 250,
mainCell: @Composable () -> Unit,
foldCells: List<@Composable () -> Unit>
) {
var isOpened by remember { mutableStateOf(false) }
...
}
@pauloaapereira
pauloaapereira / weatherfy_1.kt
Created March 18, 2021 18:53
AndroidDevChallenge_Week4_JetWeatherfy_1
@Composable
fun Curtain(
isOpenedFromOutside: Boolean? = null,
foldingDuration: Int = 250,
mainCell: @Composable () -> Unit,
foldCells: List<@Composable () -> Unit>
) {
...
}
@pauloaapereira
pauloaapereira / drawer_8.kt
Created March 16, 2021 19:06
Jetpack Compose - Drawer Pushing Content - 8
@Composable
fun App() {
var isDrawerOpened by remember { mutableStateOf(false) }
DrawerContainer(
isDrawerOpened = isDrawerOpened,
onSwipe = { toOpen -> isDrawerOpened = toOpen }
) {
Drawer()
Body()
@pauloaapereira
pauloaapereira / drawer_7.kt
Created March 16, 2021 19:06
Jetpack Compose — Drawer Pushing Content - 7
@Composable
fun DrawerContainer(
modifier: Modifier = Modifier,
isDrawerOpened: Boolean = false,
drawerWidth: Dp = 200.dp,
onSwipe: (Boolean) -> Unit = {},
content: @Composable () -> Unit
) {
val transition = updateTransition(targetState = isDrawerOpened)
@pauloaapereira
pauloaapereira / drawer_6.kt
Created March 16, 2021 19:05
Jetpack Compose — Drawer Pushing Content - 6
@Composable
fun DrawerContainer(
modifier: Modifier = Modifier,
isDrawerOpened: Boolean = false,
drawerWidth: Dp = 200.dp,
onSwipe: (Boolean) -> Unit = {},
content: @Composable () -> Unit
) {
val transition = updateTransition(targetState = isDrawerOpened)