Skip to content

Instantly share code, notes, and snippets.

View runo280's full-sized avatar
🀨

runo280 runo280

🀨
  • ‍‍‍~
View GitHub Profile
@XFY9326
XFY9326 / ComposeVerticalScrollBar.kt
Created March 25, 2022 11:59
Jetpack Compose VerticalScrollBar for Android
// Reference: https://stackoverflow.com/questions/66341823/jetpack-compose-scrollbars/68056586#68056586
// Modify: LazyListState -> ScrollState
fun Modifier.verticalScrollbar(
scrollState: ScrollState,
scrollBarWidth: Dp = 4.dp,
minScrollBarHeight: Dp = 5.dp,
scrollBarColor: Color = Color.Blue,
cornerRadius: Dp = 2.dp
): Modifier = composed {
@ExperimentalMaterialApi
@Composable
fun OverlayBottomSheetScaffold(
sheetContent: @Composable ColumnScope.() -> Unit,
scaffoldState: BottomSheetScaffoldState = rememberBottomSheetScaffoldState(),
sheetPeekHeight: Dp = 0.dp,
maxOverlayAlpha: Float = 0.7f,
overlayColor: Color = Color.Black,
cancelable: Boolean = true,
content: @Composable (PaddingValues) -> Unit,
@thelumiereguy
thelumiereguy / InfiniteSquareMandala.kt
Last active March 22, 2022 06:12
A example to animate and draw a square-based Mandala on Jetpack Compose's Canvas
import androidx.compose.animation.core.*
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.BoxWithConstraints
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
@AidaIssayeva
AidaIssayeva / Flying Hearts Composable function in Jetpack Compose
Created February 27, 2022 04:45
Flying Hearts Animation in jetpack Compose
@OptIn(ExperimentalAnimationApi::class)
@Composable
fun Heart(modifier: Modifier, horizontalPadding: Int, bottomMargin: Int) {
val width = LocalConfiguration.current.screenWidthDp
val height = LocalConfiguration.current.screenHeightDp - bottomMargin
val yRandom = Random.nextInt(0, height / 2)
val xRandom = Random.nextInt(horizontalPadding, (width - horizontalPadding))
val state = remember {
@c5inco
c5inco / ChainedSpring.kt
Last active March 17, 2024 17:32
Jetpack Compose implementation of inspiration: https://twitter.com/amos_gyamfi/status/1496487449735872526
package des.c5inco.material3
import androidx.compose.animation.core.Animatable
import androidx.compose.animation.core.spring
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.size
import androidx.compose.material3.Surface
@thelumiereguy
thelumiereguy / CantorCirclePatternComposable.kt
Last active March 5, 2022 16:50
A Jetpack Compose based example to draw a modified Cantor Circle using recursion
const val MAX_ITERATIONS = 7f
@OptIn(ExperimentalGraphicsApi::class)
@Composable
fun CantorCirclePatternComposable(modifier: Modifier) {
BoxWithConstraints(modifier = Modifier) {
val frame by rememberInfiniteTransition().animateFloat(
@c5inco
c5inco / HeartRate.kt
Last active July 31, 2024 09:42
Jetpack Compose implementation of inspiration: https://twitter.com/amos_gyamfi/status/1494053914945236999
package des.c5inco.material3
import android.graphics.Matrix
import android.graphics.Path
import androidx.compose.animation.core.*
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.size
@c5inco
c5inco / MarchingAntsCompose.kt
Created February 14, 2022 04:48
Marching ants effect on Compose logo paths. Inspired by: https://twitter.com/amos_gyamfi/status/1492595384362967042
package des.c5inco.material3
import android.graphics.Matrix
import androidx.compose.animation.core.*
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.layout.*
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
@c5inco
c5inco / MenuToClose.kt
Created February 11, 2022 06:23
Jetpack Compose implementation of inspirational design https://twitter.com/amos_gyamfi/status/1491506689408909316
package des.c5inco.material3
import androidx.compose.animation.core.*
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.background
import androidx.compose.foundation.gestures.detectTapGestures
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.*
@c5inco
c5inco / CollapsingTabBar.kt
Last active May 28, 2024 11:14
Jetpack Compose implementation of inspirational design https://twitter.com/philipcdavis/status/1486871621600104450
package des.c5inco.material3
import androidx.compose.animation.*
import androidx.compose.animation.core.*
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.shape.RoundedCornerShape