Skip to content

Instantly share code, notes, and snippets.

View raghunandankavi2010's full-sized avatar
🤵‍♂️
Android dev looking to learn new technologies and always open for a new job.

Raghunandan Kavi raghunandankavi2010

🤵‍♂️
Android dev looking to learn new technologies and always open for a new job.
View GitHub Profile
@ardakazanci
ardakazanci / FlipCard.kt
Created April 21, 2024 10:27
Flip Card with Jetpack Compose
@Composable
fun FlipActionScreen() {
var flippedState by remember { mutableStateOf(false) }
val rotationY by animateFloatAsState(
targetValue = if (flippedState) 180f else 0f,
animationSpec = spring(
dampingRatio = Spring.DampingRatioHighBouncy,
stiffness = Spring.StiffnessVeryLow
)
)
@ChathuraHettiarachchi
ChathuraHettiarachchi / MotionLayoutTry.kt
Last active May 7, 2024 14:36
This is a sample implementation of AirBnB search bar transition on Android usin Jetpack Compose MotionLayout, MotionScene with DSL. You need to replace the images on `destinations` to work this. FInd the video link https://twitter.com/i/status/1778640663086829622
package com.chootadev.composetryout
import androidx.annotation.DrawableRes
import androidx.compose.animation.core.animateFloatAsState
import androidx.compose.animation.core.keyframes
import androidx.compose.animation.core.tween
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.border
import androidx.compose.foundation.clickable
//settings.gradle.kts
dependencyResolutionManagement {
repositories {
maven { url = uri("https://androidx.dev/snapshots/builds/11670047/artifacts/repository/") }
google()
mavenCentral()
maven(url = "https://plugins.gradle.org/m2/")
maven(url = "https://maven.pkg.jetbrains.space/public/p/compose/dev")
}
@ardakazanci
ardakazanci / MetaballEffect.kt
Created February 20, 2024 17:06
Jetpack Compose MetaBall Effect
@Composable
fun MetaballEffect() {
var targetAngle by remember { mutableStateOf(0f) }
val animatedAngle by animateFloatAsState(
targetValue = targetAngle,
animationSpec = tween(durationMillis = 1000)
)
var toggle by remember { mutableStateOf(false) }
@ardakazanci
ardakazanci / InteractiveTouchCanvas.kt
Created February 15, 2024 18:09
Interactive Canvas for jetpack compose
@Composable
fun InteractiveCanvas(maxWidth: Int, maxHeight: Int) {
val random = remember { Random.Default }
var touchPosition by remember { mutableStateOf(Offset.Unspecified) }
val heartSize = 75F
val heartPath = createHeartPath(heartSize)
val heartOffsets = remember { mutableStateListOf<Offset>() }
val heartColors = remember { mutableStateListOf<Color>() }
if (heartOffsets.isEmpty()) {
@ardakazanci
ardakazanci / DraggableDrawingShape.kt
Created January 23, 2024 18:58
Drag and drop canvas playground
@Composable
fun DraggableLineDrawing() {
Box(modifier = Modifier.fillMaxSize()) {
val buttonSize = 50.dp
val buttonRadius = buttonSize.value / 2
val buttonsState = remember { List(10) { mutableStateOf(Offset.Zero) } }
val explodedState = remember { mutableStateListOf<Boolean>().apply { repeat(10) { add(false) } } }
val secondaryColor = MaterialTheme.colorScheme.secondary
val brush = Brush.horizontalGradient(listOf(Color.Red, Color.Blue))
val brushSecond = Brush.horizontalGradient(listOf(Color.Gray, Color.Black))
@ardakazanci
ardakazanci / CircularMainMenuGroup.kt
Created January 13, 2024 05:54
Circular Menu Group for jetpack compose
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
CircularMenuGroupTheme {
MainMenuCanvas()
}
}
}
@ardakazanci
ardakazanci / TicTacToe.kt
Created January 8, 2024 16:49
Tic Tac Toe - Jetpack Compose
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
TicTacToeGameTheme {
TicTacToeGame()
}
}
}
@ardakazanci
ardakazanci / HeartAnimation.kt
Created January 6, 2024 15:07
Heart Shape and Animation for Jetpack Compose
@Composable
fun AnimatedHeartShape() {
BoxWithConstraints(
modifier = Modifier.fillMaxSize(),
contentAlignment = Alignment.Center
) {
var clicked by remember { mutableStateOf(false) }
val heartSize = 400.dp
val heartSizePx = with(LocalDensity.current) { heartSize.toPx() }
@ardakazanci
ardakazanci / FlipCart.kt
Created January 5, 2024 18:11
FlipCard for Jetpack Compose
@Composable
fun FlipCard() {
var rotationXDegrees by remember { mutableStateOf(0f) }
var rotationYDegrees by remember { mutableStateOf(0f) }
val rotationX by animateFloatAsState(
targetValue = rotationXDegrees,
animationSpec = tween(durationMillis = 1000)
)
val rotationY by animateFloatAsState(
targetValue = rotationYDegrees,