Skip to content

Instantly share code, notes, and snippets.

View theapache64's full-sized avatar
๐Ÿš
Focusing

theapache64 theapache64

๐Ÿš
Focusing
View GitHub Profile
Column {
val list = remember { mutableStateListOf<String>("A") }
val listState = rememberLazyListState()
LaunchedEffect(list.size) {
listState.animateScrollToItem(list.lastIndex)
}
Button(onClick = {
list.add(System.currentTimeMillis().toString())
}) {
Text(text = "ADD")
Column {
var flag by remember { mutableStateOf(false) }
val transition = updateTransition(targetState = flag, label = "My Animation")
// Method #1
LaunchedEffect(transition.currentState == transition.targetState) {
if (transition.currentState == transition.targetState) {
println("Animation finished (1)")
}
}
// Method #2
private val BottomRectangle = GenericShape { size, _ ->
// 1)
moveTo(0f, size.height * 0.6f)
// 2)
lineTo(size.width, size.height * 0.6f)
// ViewState (ViewModel to UI - to render UI)
sealed class $component$ViewState{
}
// Interactors (UI to ViewModel)
sealed class $component$Interactor{
}
@Preview
@Composable
fun MyColumn() {
var isBigText by remember {
mutableStateOf(false)
}
Column(
modifier = Modifier
.padding(10.dp)
import android.app.Activity
import android.content.pm.ActivityInfo
import androidx.compose.foundation.layout.Column
import androidx.compose.material.Button
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalConfiguration
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.foundation.layout.Column
import androidx.compose.material.Text
import androidx.compose.runtime.*
import androidx.compose.ui.tooling.preview.Preview
import kotlinx.coroutines.delay
@Preview
@Composable
fun RecompositionTest() {
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.core.*
import androidx.compose.animation.fadeIn
import androidx.compose.animation.fadeOut
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.material.Button
import androidx.compose.material.Text
import androidx.compose.runtime.*
import androidx.compose.animation.core.animateDp
import androidx.compose.animation.core.tween
import androidx.compose.animation.core.updateTransition
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.width
import androidx.compose.material.Button
import androidx.compose.material.Text
@Before
fun beforeAll() {
composeRule.setContent {
var flag by remember {
mutableStateOf(false)
}
if (flag) {
throw IllegalArgumentException()
}
Button(onClick = { flag = true }) {